add morj command

This commit is contained in:
2019-09-06 15:08:11 +03:00
parent 8d564fb31b
commit 2ee5d9fe6d
4 changed files with 132 additions and 0 deletions
+12
View File
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
import logging
import os
import traceback
from datetime import datetime, timedelta
from html import escape
@@ -8,6 +9,7 @@ from queue import Queue, Empty
from time import sleep
from threading import Thread
from typing import Dict, List
from uuid import uuid4
import sentry_sdk
from telegram.error import Unauthorized, TelegramError
@@ -17,6 +19,7 @@ from telegram import Message, Update, Bot, InlineKeyboardMarkup, InlineKeyboardB
from config import BOT_TOKEN, SENTRY_DSN, MANAGEMENT_CHAT, DEBUG
from db import get_conn, Subscriber, PersistentMapping, commit
from morj import draw_morj
from send_users_list import send_users_list
@@ -232,6 +235,14 @@ def users_list(bot: Bot, update: Update):
update.effective_message.reply_text('\n'.join(messages[i:i+40]), parse_mode='html')
def morj(bot: Bot, update: Update):
text = update.effective_message.text[5:]
fname = '/tmp/morj{}.png'.format(uuid4())
draw_morj(text, fname)
update.effective_message.reply_document(open(fname, 'rb'))
os.unlink(fname)
def _process_message(bot: Bot, m: Message):
if m.sticker or m.animation:
delta = datetime.now() - conn.root.last_media
@@ -363,6 +374,7 @@ if __name__ == '__main__':
updater.dispatcher.add_handler(CommandHandler('remove', remove_user, Filters.chat(MANAGEMENT_CHAT), pass_args=True))
updater.dispatcher.add_handler(CallbackQueryHandler(remove_user, pattern=r'^remove (\d+)$', pass_groups=True))
updater.dispatcher.add_handler(CommandHandler('users', users_list, Filters.private))
updater.dispatcher.add_handler(CommandHandler('morj', morj))
updater.dispatcher.add_handler(MessageHandler(Filters.private, msg))
updater.start_polling()