python - 用户的代码指定机器人发布的频道。(Discord.py)
问题描述
我正在制作一个机器人,它会自动将来自 reddit 的模因发布到指定的频道。唯一的问题是,我不知道如何制作一个命令,让用户自定义他们希望将该任务发布到哪个频道并获取 ID。
我试过了
@client.command()
async def memer config(ctx):
await client.send('Where do you want the automemer to post?')
这显然不起作用,因为我不知道如何获取执行命令的人的消息,并检查它是否是有效的频道提及。
解决方案
我会这样做的方式是这样的:
- 人使用命令
memer config
- 机器人回复
set current channel as meme channel
- 您的脚本将通道 id (
ctx.channel.id
) 保存在某处(在 SQL 数据库中是理想的) - 需要时检索与用户 id 关联的频道 id,
channel = client.get_channel(channel_id)
- 使用
await channel.send("them memes")
希望有帮助
推荐阅读
- kafka-consumer-api - Kafka消费者无限重试 | 缩放的重新平衡问题
- sql - 比较 SQL Oracle 中 2 个表的供应商
- javascript - React 测试库如何使用 waitFor
- azure-active-directory - SAML LogoutRequest 发送到 SingleSignOnService URL
- google-sheets - 创建查询以删除值为 0 的行
- javascript - 待办事项列表有问题。我怎样才能取回我的阵列?
- spring-batch - 具有多个状态记录的 Spring 批处理配置一步写入
- python - 如何使用 Python ElementTree -Glue Job 提取文件 xml 属性
- asp.net - Rest API 控制器中的多个 Get 方法
- angular - 无限滚动正在更新我在 Angular 10 中的所有可观察对象