utils.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:teamSpeakTelegram 作者: jossalgon 项目源码 文件源码
def assign_user_alias_step2(bot, update, chat_data):
    message = update.effective_message
    chat_id = update.effective_chat.id
    markup = []

    first_message = bool(update.message)
    page = chat_data[message.message_id]['pages'] if not first_message else 1

    user_ids = get_user_ids()

    start = 10 * (page - 1) if page > 1 else 0
    end = start + 10 if start + 10 < len(user_ids) else len(user_ids)
    for i in range(start, end, 2):
        j = i + 1
        try:
            user1 = bot.get_chat_member(chat_id=user_ids[i], user_id=user_ids[i]).user
            username1 = '@' + user1.username if user1.username else user1.first_name
        except TelegramError:
            username1 = 'ID: ' + str(user_ids[i])
        row = [InlineKeyboardButton(username1, callback_data='USER_ALIAS_%s' % str(user_ids[i]))]
        if j < len(user_ids):
            try:
                user2 = bot.get_chat_member(chat_id=user_ids[j], user_id=user_ids[j]).user
                username2 = '@' + user2.username if user2.username else user2.first_name
            except TelegramError:
                username2 = 'ID: ' + str(user_ids[j])
            row.append(InlineKeyboardButton(username2, callback_data='USER_ALIAS_%s' % str(user_ids[j])))
        markup.append(row)

    markup = markup_append_pagination(bot, update, user_ids, markup, page, 'USER_ALIAS')
    markup.append([InlineKeyboardButton('?? ' + _('Skip'), callback_data='USER_ALIAS_%s' % str(0))])

    reply_markup = InlineKeyboardMarkup(markup)
    text = '?? ' + _('Ok, is this user on Telegram?')

    if not first_message:
        msg = bot.edit_message_text(text, chat_id=chat_id, message_id=message.message_id, reply_markup=reply_markup,
                                    parse_mode='Markdown')
    elif len(user_ids) == 0:
        msg = bot.send_message(chat_id, _('No results'))
    else:
        msg = bot.send_message(chat_id, text, disable_notification=True, reply_markup=reply_markup,
                               parse_mode='Markdown')
        chat_data[msg.message_id] = dict()
        chat_data[msg.message_id]['pages'] = page

    if message.reply_to_message:
        cldbid = chat_data['alias_cldbid'][str(message.reply_to_message.message_id)][1]
        del chat_data['alias_cldbid'][str(message.reply_to_message.message_id)]
        bot.delete_message(chat_id=chat_id, message_id=message.reply_to_message.message_id)
        chat_data['alias_cldbid'][str(msg.message_id)] = message.text, cldbid
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号