sendDice
发送一个带随机结果的动画表情消息,例如骰子、飞镖、篮球、足球、老虎机或保龄球。
请求
POST /:token/sendDice
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| chat_id | Integer/String | 是 | 目标聊天的唯一标识符,数字 ID 或数字字符串。当前不支持 @username 形式 |
| emoji | String | 否 | 动画表情,可选 🎲、🎯、🏀、⚽、🎰、🎳,默认 🎲 |
| message_thread_id | Integer | 否 | 目标消息线程(话题)的唯一标识符,仅用于话题群 |
| reply_parameters | Object | 否 | 回复参数。当前仅 message_id 字段生效,该消息将作为对指定消息的回复发送 |
| reply_markup | Object | 否 | 自定义键盘或内联键盘标记,支持 JSON 序列化对象或字符串两种格式 |
以下参数可以传入,但当前实现尚未生效,会被服务端忽略:business_connection_id、disable_notification、protect_content、allow_paid_broadcast、message_effect_id。
随机值范围
点数由服务端随机生成,调用方无法指定。
| emoji | 类型 | value 范围 |
|---|---|---|
🎲 | 骰子 | 1-6 |
🎯 | 飞镖 | 1-6 |
🎳 | 保龄球 | 1-6 |
🏀 | 篮球 | 1-5 |
⚽ | 足球 | 1-5 |
🎰 | 老虎机 | 1-64 |
足球同时接受带变体选择符的 ⚽️,效果与 ⚽ 一致。传入表格之外的表情返回 EMOTICON_STICKERPACK_MISSING。
响应
返回发送成功的 Message 对象,投掷结果在 dice 字段中:emoji 回显实际使用的表情,value 为服务端随机生成的点数。
json
{
"ok": true,
"result": {
"message_id": 102,
"from": {
"id": 123456789,
"is_bot": true,
"first_name": "MyBot",
"username": "my_bot"
},
"chat": {
"id": 987654321,
"first_name": "User",
"username": "user123",
"type": "private"
},
"date": 1700000000,
"dice": {
"emoji": "🎲",
"value": 4
}
}
}错误码
| 错误码 | 描述 |
|---|---|
| 400 | 请求参数错误,如缺少 chat_id、emoji 不支持或 reply_markup 格式错误;触发发送频率限制时同样返回 400,描述为 MESSAGE_TOO_MUCH |
| 401 | Token 无效或已过期 |
| 403 | Bot 被该用户封禁或无权向该聊天发送消息 |
| 404 | 聊天不存在 |
| 500 | 服务器内部错误 |
示例
发送默认骰子
bash
curl -X POST "https://api.safew.bot/<token>/sendDice" \
-H "Content-Type: application/json" \
-d '{
"chat_id": 987654321
}'发送篮球动画
bash
curl -X POST "https://api.safew.bot/<token>/sendDice" \
-H "Content-Type: application/json" \
-d '{
"chat_id": 987654321,
"emoji": "🏀"
}'带内联键盘的小游戏
bash
curl -X POST "https://api.safew.bot/<token>/sendDice" \
-H "Content-Type: application/json" \
-d '{
"chat_id": 987654321,
"emoji": "🎯",
"reply_markup": {
"inline_keyboard": [
[
{"text": "再来一次", "callback_data": "dice_retry"},
{"text": "查看规则", "callback_data": "dice_rules"}
]
]
}
}'相关应用
- 随机小游戏:在群聊或私聊中发起骰子、飞镖、篮球、足球、老虎机、保龄球等轻量互动。
- 抽奖与决策:用
dice.value作为随机结果,配合业务规则实现抽奖、排名或随机选择。 - 竞猜挑战:用户先提交预测,再由 Bot 调用
sendDice生成公开随机结果。 - 群内活跃:配合
reply_markup提供“再来一次”“查看规则”等按钮,形成连续互动。
