Aaaand it's done
This commit is contained in:
parent
fc3378f878
commit
5f2ddd09e6
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ config_python.py
|
|||||||
venv-pg
|
venv-pg
|
||||||
.idea/
|
.idea/
|
||||||
output.log
|
output.log
|
||||||
|
msgid
|
51
main.py
51
main.py
@ -7,6 +7,10 @@ from logging.handlers import TimedRotatingFileHandler
|
|||||||
from termcolor import colored
|
from termcolor import colored
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import telebot
|
||||||
|
|
||||||
|
import main
|
||||||
|
|
||||||
streamer = config_python.streamer
|
streamer = config_python.streamer
|
||||||
app_id = config_python.appid
|
app_id = config_python.appid
|
||||||
app_secret = config_python.appsecret
|
app_secret = config_python.appsecret
|
||||||
@ -15,19 +19,58 @@ log_format = logging.Formatter('%(asctime)s %(levelname)s:%(message)s')
|
|||||||
log_file = 'output.log'
|
log_file = 'output.log'
|
||||||
|
|
||||||
|
|
||||||
# Если стрим идет
|
|
||||||
def stream_message_worker(data: dict):
|
def stream_message_worker(data: dict):
|
||||||
# Если это стрим, а не повтор, значит все в порядке
|
# Если это стрим, а не повтор, значит все в порядке
|
||||||
if data['type'] == 'live':
|
if data['type'] == 'live':
|
||||||
|
# Для удобства выносим в переменные
|
||||||
game_name = data['game_name']
|
game_name = data['game_name']
|
||||||
stream_title = data['title']
|
stream_title = data['title']
|
||||||
stream_viewers = str(data['viewer_count'])
|
stream_viewers = str(data['viewer_count'])
|
||||||
log.info(streamer + " стримит " + game_name + " Title: " + stream_title + " Зрителей: " + stream_viewers)
|
# Готовим сообщение
|
||||||
|
message = streamer + " стримит " + game_name + " Title: " + stream_title + " Зрителей: " + stream_viewers
|
||||||
|
log.info(message)
|
||||||
|
# Если файл с айди существует, читаем его и редактируем сообщение из него
|
||||||
|
if os.path.exists('msgid'):
|
||||||
|
with open('msgid', 'r') as f:
|
||||||
|
msgid = f.read()
|
||||||
|
if msgid == '':
|
||||||
|
msgid = 0
|
||||||
|
else:
|
||||||
|
msgid = 0
|
||||||
|
|
||||||
|
if msgid == 0:
|
||||||
|
send_message = bot.send_message(config_python.tgchat, message)
|
||||||
|
print(send_message)
|
||||||
|
msgid = send_message.message_id
|
||||||
|
with open('msgid', 'w') as f:
|
||||||
|
f.write(str(msgid))
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
edit_msg = bot.edit_message_text(message, config_python.tgchat, int(msgid))
|
||||||
|
except telebot.apihelper.ApiTelegramException as e:
|
||||||
|
log.error(e)
|
||||||
|
|
||||||
|
|
||||||
# Если стрим не идет
|
# Если стрим не идет
|
||||||
def no_stream_msg_worker():
|
def no_stream_msg_worker():
|
||||||
log.info(streamer + " Не стримит")
|
log.info(streamer + " Не стримит")
|
||||||
|
# Проверяем наличие файла
|
||||||
|
if os.path.exists('msgid'):
|
||||||
|
# Если файл существует - читаем
|
||||||
|
with open('msgid', 'r') as f:
|
||||||
|
msgid = f.read()
|
||||||
|
if msgid == '':
|
||||||
|
# Если пустой - удаляем
|
||||||
|
os.remove('msgid')
|
||||||
|
else:
|
||||||
|
# Если не пустой, то удаляем сообщение по айдишнику
|
||||||
|
try:
|
||||||
|
# Удаляем сообщение
|
||||||
|
edit_msg = bot.delete_message(config_python.tgchat, int(msgid))
|
||||||
|
except telebot.apihelper.ApiTelegramException as e:
|
||||||
|
log.error(e)
|
||||||
|
# В конце удаляем айди сообщения
|
||||||
|
os.remove('msgid')
|
||||||
|
|
||||||
|
|
||||||
def check_alive():
|
def check_alive():
|
||||||
@ -83,6 +126,8 @@ if __name__ == '__main__':
|
|||||||
log = get_logger("main")
|
log = get_logger("main")
|
||||||
log.info("Запущен")
|
log.info("Запущен")
|
||||||
twitch_client = Twitch(app_id, app_secret)
|
twitch_client = Twitch(app_id, app_secret)
|
||||||
|
bot = telebot.TeleBot(config_python.tgtoken)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
check_alive()
|
check_alive()
|
||||||
time.sleep(3)
|
time.sleep(180)
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
twitchAPI==2.5.7.1
|
twitchAPI==2.5.7.1
|
||||||
termcolor
|
termcolor
|
||||||
|
pyTelegramBotAPI=4.8.0
|
Loading…
Reference in New Issue
Block a user