电报机器人 InlineKeyboard 回调链接

时间:2021-03-04 12:27:52

标签: python python-3.x bots telegram-bot python-telegram-bot

我用 python 制作了一个电报机器人,它向用户(如目录)请求一些数据,然后 user_data 将发送给管理员以确认或拒绝 user_data 在电报频道中发布。 我在这部分有问题,当管理员确认时,user_data 不会发送到频道,空消息发送到频道。 我想我可能会使用 callback_query 但我不知道如何使用!

我在使用 inlinebuttonkeyboard 回调时遇到问题: 这是 user_data 发送给管理员的代码:

    buttons = [
    [
        InlineKeyboardButton(text='تایید',url= 'https://t.me/kasraproject_bot?start=CONFIRMATION'),
        InlineKeyboardButton(text='رد',url='https://t.me/kasraproject_bot?start=REJECT'),
    ],
    ]
    admin_keyboard = InlineKeyboardMarkup(buttons)
    bot.send_photo(
        chat_id='145032913',photo=open('madrak.jpg','rb'),
        caption='جزئیات در زیر ذکر شده است\n{}'
        .format(facts_to_str(user_data))+
        '\n برای اطلاعات بیشتر با ارسال کننده در ارتباط باشید {}'
        .format(user.name),reply_markup=admin_keyboard
    )

管理员确认后的下一步:

if text =='/start CONFIRMATION':
    del user_data['شماره موبایل']
    del user_data['مدرک تحصیلی']

    buttons = [
    [
        InlineKeyboardButton(text='ارسال پیشنهاد', url='https://t.me/kasraproject_bot?start=offer'),
        InlineKeyboardButton(text='مشاهده پیشنهادات ارسالی', url='https://t.me/kasraproject_bot?start=sent_offers'),
        InlineKeyboardButton(text='تعداد متقاضی',url='https://t.me/kasraproject_bot?start=offer'),
    ]
    ]
    offer_keyboard = InlineKeyboardMarkup(buttons)
    
    bot.send_message(
        chat_id=chat_id,
        text='جزئیات در زیر ذکر شده است\n{}'
        .format(facts_to_str(user_data))+
        '\n برای اطلاعات بیشتر با ارسال کننده در ارتباط باشید {}'
        .format(user.name),reply_markup=offer_keyboard
        
    )

offer_keyboard 是为频道成员提供给发送他自己数据的用户发送联系请求。

0 个答案:

没有答案