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

python-telegram-bot中如何通过MessageHandler获取骰子数值?

解决python-telegram-bot获取骰子数值报错问题

你的报错原因很明确:dice.value是属性而非方法,不能加()调用。

在python-telegram-bot的API定义里,Dice对象的value是存储骰子结果的整数属性,直接访问即可,不需要当成方法去执行。写成value()会让Python误以为这是一个可调用的方法,但实际上它只是一个普通整数,因此会抛出类似'int' object is not callable的错误。

修正后的handle_dice函数代码如下:

def handle_dice(update: Update, context: ContextTypes.DEFAULT_TYPE):
    # 直接访问value属性,无需加括号
    dice_value = update.message.dice.value
    print(f"骰子的数值是:{dice_value}")

你之前注册handler的代码add_handler(MessageHandler(filters.Dice, handle_dice))是正确的,不需要修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:15:52