You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telebot中InlineKeyboardButton对应的Callback Handler无响应求助

问题修复:TeleBot内联按钮无响应的解决方法

核心问题是你搞混了两种键盘组件:你用普通回复键盘(ReplyKeyboardMarkup)来承载内联按钮(InlineKeyboardButton),这两者不兼容。普通回复键盘的按钮只会发送文本消息,根本触发不了回调查询处理器(callback_query_handler)。

修复方法很简单,把键盘类型换成内联专用的InlineKeyboardMarkup就行:

from telebot import types
import requests
import json

token = '6230500274:AAEwvnh0WPFkjUbOp0K2iW5DiFyiKfQND9w'

bot = telebot.TeleBot(token)

@bot.message_handler(commands=['start'])
def start(message):
    # 替换为内联键盘专用的Markup类
    markup = types.InlineKeyboardMarkup(resize_keyboard=True)
    domain = types.InlineKeyboardButton('WHOIS - DOMAIN', callback_data='domain')
    ip = types.InlineKeyboardButton('WHOIS - IP', callback_data='ip')
    markup.row(domain, ip)
    bot.send_message(message.chat.id, 'Привет! Я бот который узнать много информации о доменах и ip', reply_markup=markup)

@bot.callback_query_handler(func=lambda callback:True)
def callback_message(callback):
   if callback.data == 'domain':
       bot.send_message(callback.message.chat.id, 'ээээ')

bot.polling(none_stop=True)

修改后,点击"WHOIS - DOMAIN"按钮就能触发回调处理器,收到你设置的回复了。

内容的提问来源于stack exchange,提问作者Vladislav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:44:59