变量输入
变量定义
| 变量名 | 数据类型 | 默认值 | 是否可空 | 说明 |
|---|---|---|---|---|
channel_id |
string | True | Discord 频道ID | |
type |
enum("text", "file") | True | 消息类型 | |
content |
string | False | 消息内容 | |
file_path |
string | False | 文件地址 |
输入异常处理
| 异常类型 | 处理方式 |
|---|---|
| 变量输入数据类型不一致 | 提示用户:传入数据类型与定义不一致 |
| 非空变量未提供 | 提示用户:未提供必填变量 |
执行流程
1. 判断频道id是否存在
调用channels查看Discord机器人拥有的频道列表,检查$channel_id是否存在于channels返回结果,满足$channel_id == channel.id
处理方式
| 情况 | 处理 |
|---|---|
| id为$channel_id的频道已存在 | 向下执行 |
| id为$channel_id的频道未存在 | 提示用户: 目标频道不存在 |
2. 发送消息
当type=="text"时:
检查$content是否为空: 当为空时,告知用户$content为必须提供项。 当不为空时,继续向下执行。
调用send_channel_message,传入参数:
| 参数名 | 参数 |
|---|---|
| channel_id | $channel_id |
| content | $content |
当type=="file"时:
检查$file_path是否为空: 当为空时,告知用户$file_path为必须提供项。 当不为空时,继续向下执行。
调用send_channel_file,传入参数:
| 参数名 | 参数 |
|---|---|
| channel_id | $channel_id |
| file_path | $file_path |
以上两种执行方式,返回统一数据格式(response):
{
"msg_id": "1479669950565056703"
}
3. 告知用户
以表格形式告知用户发送的消息ID(response.msg_id)。