Exemplo n.º 1
0
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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)