gpt4 book ai didi

python - 如何在 TwitchIO 中发送不是对命令的响应的消息?

转载 作者:行者123 更新时间:2023-12-05 03:42:19 25 4
gpt4 key购买 nike

我正在设置一个 python TwitchIO聊天机器人。入门示例是这样的:

async def event_message(self, message):
print(message.content)
await self.handle_commands(message)

@commands.command(name='test')
async def my_command(self, ctx):
await ctx.send(f'Hello {ctx.author.name}!')

如果传入消息是命令(例如 !test),则使用 ctx.send() 将消息发送回 channel 。

我希望可以选择在收到任何消息时将消息发送回 channel (基于 come 标准),而不仅仅是命令。例如:

async def event_message(self, message):
print(message.content)
if SOMETHING:
SEND_MESSAGE_HERE
await self.handle_commands(message)

我不知道如何执行某种类型的 .send 来实现这一点。这个答案:TwitchIO: How to send a chat message?显示这个:

chan = bot.get_channel("channelname")
loop = asyncio.get_event_loop()
loop.create_task(chan.send("Send this message"))

我试过了,机器人立即发送了大量消息并超时了一个小时。

所以,问题是:如何将消息发送回 event_message 中的 channel

最佳答案

命令向您传递一个Context(Messageable 的一个实例,它定义了send())。 Channel 也是一个Messageable,因此它有一个send()。因此,如果您的 Bot 实例是 bot:

await bot.connected_channels[0].send('...')

将向机器人连接的第一个 channel 发送消息。

关于python - 如何在 TwitchIO 中发送不是对命令的响应的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67348181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com