main: test if bot privacy is enabled and warn

pull/1/head
Michael DM Dryden 2020-06-04 02:20:03 -04:00
rodzic 11c9769dbb
commit a75081154b
1 zmienionych plików z 8 dodań i 2 usunięć

Wyświetl plik

@ -28,7 +28,7 @@ import os
import telegram
from telegram.error import BadRequest
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext, JobQueue
from telegram.ext.dispatcher import run_async
from telegram.update import Update
import appdirs
@ -78,6 +78,11 @@ def log_message(update: Update, context: CallbackContext):
store.append_data('user_events', i)
def test_can_read_all_group_messages(context: CallbackContext):
if not context.bot.can_read_all_group_messages:
logger.error("Bot privacy is set to enabled, cannot log messages!!!")
@run_async
def update_usernames(context: CallbackContext): # context.job.context contains the chat_id
user_ids = stats.get_message_user_ids()
@ -199,7 +204,8 @@ if __name__ == '__main__':
log_handler = MessageHandler(Filters.chat(chat_id=args.chat_id), log_message)
dispatcher.add_handler(log_handler)
job_queue = updater.job_queue
job_queue: JobQueue = updater.job_queue
update_users_job = job_queue.run_repeating(update_usernames, interval=3600, first=0, context=args.chat_id)
test_privacy_job = job_queue.run_once(test_can_read_all_group_messages, 0)
updater.start_polling()