def on_msg(update, context): global last_top try: message = update.message if message is None: return if message.text == None: return is_old = False if message.date and (datetime.now(timezone.utc) - message.date).seconds > 300: is_old = True user_id = message.from_user.id username = message.from_user.name _chat_id = message.chat_id messageText = message.text.lower() # karma message if message.reply_to_message and message.reply_to_message.from_user.id and user_id != message.reply_to_message.from_user.id: karma_changed = increase_karma( message.reply_to_message.from_user.id, messageText) if karma_changed and not is_old: msg = context.bot.send_message(_chat_id, text=karma_changed) context.job_queue.run_once( autodelete_message, destruction_timeout, context=[msg.chat_id, msg.message_id]) # commands if messageText == "карма" and not is_old: reply_text = get_karma(user_id) msg = context.bot.send_message(_chat_id, text=reply_text, parse_mode=ParseMode.MARKDOWN) context.job_queue.run_once(autodelete_message, destruction_timeout, context=[msg.chat_id, msg.message_id]) if messageText == "топ" and not is_old: if not last_top or (datetime.now(timezone.utc) - last_top).seconds > 300: reply_text, reply_markup = getTop() msg = context.bot.send_message(_chat_id, text=reply_text, reply_markup=reply_markup, parse_mode=ParseMode.MARKDOWN) context.job_queue.run_once( autodelete_message, 300, context=[msg.chat_id, msg.message_id]) last_top = datetime.now(timezone.utc) mats = count_mats(messageText) add_or_update_user(user_id, username, mats) except Exception as e: print(e)
async def wrapper(message: Message): user_id = message.from_user.id username = message.from_user.mention messageText = message.text.lower() mats = count_mats(messageText) add_or_update_user(user_id, username, mats) return await func(message)
def on_msg(update: Update, context: CallbackContext): try: message: Message = update.message is_old = check_message_is_old(message) user_id = message.from_user.id username = message.from_user.name _chat_id = message.chat_id _message_id = message.message_id messageText = message.text.lower() mats = count_mats(messageText) add_or_update_user(user_id, username, mats) # update karma message if message.reply_to_message and message.reply_to_message.from_user.id and user_id != message.reply_to_message.from_user.id: karma_changed = increase_karma(message.reply_to_message.from_user.id, messageText) if karma_changed and not is_old: msg = context.bot.send_message(_chat_id, text=karma_changed) context.job_queue.run_once(autodelete_message, destruction_timeout, context=[msg.chat_id, msg.message_id]) except Exception as e: print(e)
def on_msg(update, context): global last_top try: message: Message = update.message if message is None: return if message.text == None: return is_old = False if message.date and (datetime.now(timezone.utc) - message.date).seconds > 300: is_old = True user_id = message.from_user.id username = message.from_user.name _chat_id = message.chat_id _message_id = message.message_id # chats control, you can define it in telegram bot father # if _chat_id != chat_id and user_id != admin_id: # return messageText = message.text.lower() # karma message if message.reply_to_message and message.reply_to_message.from_user.id and user_id != message.reply_to_message.from_user.id: karma_changed = increase_karma(message.reply_to_message.from_user.id, messageText) if karma_changed and not is_old: msg = context.bot.send_message(_chat_id, text=karma_changed) context.job_queue.run_once(autodelete_message, destruction_timeout, context=[msg.chat_id, msg.message_id]) # commands if ("шарий" in messageText or "шарій" in messageText) and not is_old: msg = message.reply_video(quote=True, video=open('sh.MOV', mode='rb')) context.job_queue.run_once(autodelete_message, 30, context=[msg.chat_id, msg.message_id]) if ("xiaomi" in messageText or "сяоми" in messageText) and not is_old: msg = context.bot.send_photo(_chat_id, reply_to_message_id=_message_id, photo=open('xiaomi.jpg', 'rb')) context.job_queue.run_once(autodelete_message, 30, context=[msg.chat_id, msg.message_id]) if messageText == "гіт" and not is_old: reply_text = 'github.com/awitwicki/rude\\_bot' msg = context.bot.send_message(_chat_id, text=reply_text, parse_mode=ParseMode.MARKDOWN) context.job_queue.run_once(autodelete_message, 300, context=[msg.chat_id, msg.message_id]) if messageText == "карма" and not is_old: reply_text = get_karma(user_id) msg = context.bot.send_message(_chat_id, text=reply_text, parse_mode=ParseMode.MARKDOWN) context.job_queue.run_once(autodelete_message, destruction_timeout, context=[msg.chat_id, msg.message_id]) if messageText == "топ" and not is_old: if not last_top or (datetime.now(timezone.utc) - last_top).seconds > 300: reply_text, reply_markup = getTop() msg = context.bot.send_message(_chat_id, text=reply_text, reply_markup=reply_markup, parse_mode=ParseMode.MARKDOWN) context.job_queue.run_once(autodelete_message, 300, context=[msg.chat_id, msg.message_id]) last_top = datetime.now(timezone.utc) if messageText == "cat" or messageText == "кот" or messageText == "кіт" and not is_old: cat_url = get_random_cat_image_url() keyboard = [[InlineKeyboardButton("😻", callback_data='like_cat|0')]] reply_markup = InlineKeyboardMarkup(keyboard) msg = context.bot.send_photo(_chat_id, cat_url, reply_markup=reply_markup) context.job_queue.run_once(autodelete_message, destruction_timeout, context=[msg.chat_id, msg.message_id, _message_id]) mats = count_mats(messageText) add_or_update_user(user_id, username, mats) except Exception as e: print(e)