Implement /log command for easier debugging
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
This commit is contained in:
parent
a0cdda9e6e
commit
6ce2507c36
|
|
@ -5,7 +5,11 @@ import threading
|
||||||
from telegram.ext import Updater
|
from telegram.ext import Updater
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
with open('log.txt', 'r+') as f:
|
||||||
|
f.truncate(0)
|
||||||
|
|
||||||
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||||||
|
handlers=[logging.FileHandler('log.txt'), logging.StreamHandler()],
|
||||||
level=logging.INFO)
|
level=logging.INFO)
|
||||||
|
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,11 @@ def ping(update, context):
|
||||||
editMessage(f'{end_time - start_time} ms', context, reply)
|
editMessage(f'{end_time - start_time} ms', context, reply)
|
||||||
|
|
||||||
|
|
||||||
|
@run_async
|
||||||
|
def log(update, context):
|
||||||
|
sendLogFile(context, update)
|
||||||
|
|
||||||
|
|
||||||
@run_async
|
@run_async
|
||||||
def bot_help(update, context):
|
def bot_help(update, context):
|
||||||
help_string = f'''
|
help_string = f'''
|
||||||
|
|
@ -55,6 +60,9 @@ def bot_help(update, context):
|
||||||
/{BotCommands.DiskCommand}: Show a status of the disk usage of the machine the bot is hosted on
|
/{BotCommands.DiskCommand}: Show a status of the disk usage of the machine the bot is hosted on
|
||||||
|
|
||||||
/{BotCommands.AuthorizeCommand}: Authorize a chat or a user to use the bot (Can only be invoked by owner of the bot)
|
/{BotCommands.AuthorizeCommand}: Authorize a chat or a user to use the bot (Can only be invoked by owner of the bot)
|
||||||
|
|
||||||
|
/{BotCommands.LogCommand}: Get a log file of the bot. Handy for getting crash reports
|
||||||
|
|
||||||
'''
|
'''
|
||||||
sendMessage(help_string, context, update)
|
sendMessage(help_string, context, update)
|
||||||
|
|
||||||
|
|
@ -69,11 +77,12 @@ def main():
|
||||||
bot_help, filters=CustomFilters.authorized_chat | CustomFilters.authorized_user)
|
bot_help, filters=CustomFilters.authorized_chat | CustomFilters.authorized_user)
|
||||||
disk_handler = CommandHandler(BotCommands.DiskCommand,
|
disk_handler = CommandHandler(BotCommands.DiskCommand,
|
||||||
disk_usage, filters=CustomFilters.authorized_chat | CustomFilters.authorized_user)
|
disk_usage, filters=CustomFilters.authorized_chat | CustomFilters.authorized_user)
|
||||||
|
log_handler = CommandHandler(BotCommands.LogCommand, log, filters=CustomFilters.owner_filter)
|
||||||
dispatcher.add_handler(start_handler)
|
dispatcher.add_handler(start_handler)
|
||||||
dispatcher.add_handler(ping_handler)
|
dispatcher.add_handler(ping_handler)
|
||||||
dispatcher.add_handler(help_handler)
|
dispatcher.add_handler(help_handler)
|
||||||
dispatcher.add_handler(disk_handler)
|
dispatcher.add_handler(disk_handler)
|
||||||
|
dispatcher.add_handler(log_handler)
|
||||||
updater.start_polling()
|
updater.start_polling()
|
||||||
LOGGER.info("Bot Started!")
|
LOGGER.info("Bot Started!")
|
||||||
signal.signal(signal.SIGINT, fs_utils.exit_clean_up)
|
signal.signal(signal.SIGINT, fs_utils.exit_clean_up)
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ class _BotCommands:
|
||||||
self.PingCommand = 'ping'
|
self.PingCommand = 'ping'
|
||||||
self.DiskCommand = 'disk'
|
self.DiskCommand = 'disk'
|
||||||
self.HelpCommand = 'help'
|
self.HelpCommand = 'help'
|
||||||
|
self.LogCommand = 'log'
|
||||||
|
|
||||||
|
|
||||||
BotCommands = _BotCommands()
|
BotCommands = _BotCommands()
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,13 @@ def deleteMessage(context, message: Message):
|
||||||
message_id=message.message_id)
|
message_id=message.message_id)
|
||||||
|
|
||||||
|
|
||||||
|
def sendLogFile(context, update: Update):
|
||||||
|
with open('log.txt', 'rb') as f:
|
||||||
|
context.bot.send_document(document=f, filename=f.name,
|
||||||
|
reply_to_message_id=update.message.message_id,
|
||||||
|
chat_id=update.message.chat_id)
|
||||||
|
|
||||||
|
|
||||||
def auto_delete_message(context, cmd_message: Message, bot_message: Message):
|
def auto_delete_message(context, cmd_message: Message, bot_message: Message):
|
||||||
if AUTO_DELETE_MESSAGE_DURATION != -1:
|
if AUTO_DELETE_MESSAGE_DURATION != -1:
|
||||||
time.sleep(AUTO_DELETE_MESSAGE_DURATION)
|
time.sleep(AUTO_DELETE_MESSAGE_DURATION)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue