diff --git a/app/bot.py b/app/bot.py index f4453a3..e05e97c 100644 --- a/app/bot.py +++ b/app/bot.py @@ -2,6 +2,8 @@ import shelve from datetime import datetime as dt from flask import Flask, request, abort from urllib import parse +import threading +from time import sleep from . import stan from . import reminder @@ -11,9 +13,6 @@ from .me import get_me from .filters import * from .config import * -# https://core.telegram.org/bots/api Telegram Bot API -# https://github.com/eternnoir/pyTelegramBotAPI/tree/master/ - app = Flask(__name__) @@ -269,6 +268,18 @@ def send_stats(message: types.Message): bot.send_message(message.chat.id, report.reset_report_stats(message.chat.id)) +""" + [ MAIN MESSAGE HANDLER ] +""" + + +def send_quote(after_sec, message, quote): + sleep(after_sec/3) + bot.send_chat_action(message.chat.id, action='typing') + sleep(after_sec) + bot.send_message(message.chat.id, quote) + + @bot.message_handler(content_types=['text', 'sticker', 'photo', 'animation', 'video', 'audio', 'document'], chat_types=['supergroup', 'group']) def handle_msg(message: types.Message): @@ -283,9 +294,9 @@ def handle_msg(message: types.Message): else: s['Messages'][message.from_user.id]['Count'] += 1 - quote = stan.speak(30) + quote = stan.speak(22) if quote: - bot.send_message(message.chat.id, quote) + threading.Thread(target=send_quote, args=(len(quote) * 0.13, message, quote)).start() @app.route(f"/bot{TOKEN}/", methods=['POST']) diff --git a/app/config.py b/app/config.py index 2bd1ae8..2442d7b 100644 --- a/app/config.py +++ b/app/config.py @@ -1,16 +1,19 @@ import os import re import logging -from telebot import TeleBot +from telebot import TeleBot, logger from dotenv import load_dotenv logging.basicConfig(level=logging.INFO, format='%(message)s') logging.warning('>>> PYBOT STARTED!') + +logger.setLevel(logging.INFO) load_dotenv() TOKEN = os.environ.get('LUTZPYBOT', 'Token not in ENVIRON') -bot = TeleBot(TOKEN, 'HTML', disable_web_page_preview=True, allow_sending_without_reply=True) +bot = TeleBot(TOKEN, 'HTML', disable_web_page_preview=True, allow_sending_without_reply=True, + num_threads=3, colorful_logs=True) DATA = 'data/chat' diff --git a/requirements.txt b/requirements.txt index 2f997b2..72e7f59 100644 Binary files a/requirements.txt and b/requirements.txt differ