1

ユーザーがインライン ボタンをクリックした後にメッセージを送信しようとしています。chat_id が無効であることがわかります。私がそれを取り出すと、それを含めなければならないと言われます。

他のすべてのボタンは正常に機能し、ターミナルでコールバックを受け取ります

def on_callback_query(msg):
    query_id, from_id, query_data = telepot.glance(msg, flavor='callback_query')
    print('Callback Query:', query_id, from_id, query_data)
    
    if query_data == 'a':
        bot.sendMessage(chat_id, 'dsuhsdd')
        
4

2 に答える 2

0

on_callback_query関数glancedでクエリを実行して3つの変数を取得したため、グローバルスコープで人生を複雑にする必要はありません。

query_id, from_id, query_data = telepot.glance(msg)

そのため、クエリを送信したfrom_idを表すだけを使用する必要があるため、次のようになります。chat_id

def on_callback_query(msg):
    query_id, from_id, query_data = telepot.glance(msg, flavor='callback_query')
    print('Callback Query:', query_id, from_id, query_data)
    
    if query_data == 'a':
        bot.sendMessage(from_id, 'dsuhsdd')

あなたが持っているメッセージを一瞥すると:

content_type, chat_type, chat_id = telepot.glance(msg)
#type of mesg, type of chat, chat identifier

しかし、コールバック クエリを一瞥すると、次のようになります。

query_id, from_id, query_data = telepot.glance(msg)
#query id, chat_id, txt data related to the query 
于 2021-03-02T07:04:59.223 に答える