gpt4 book ai didi

python - Discord.py - 以不同的名称或用户发送消息

转载 作者:行者123 更新时间:2023-12-05 09:35:24 27 4
gpt4 key购买 nike

我一直在开发一个机器人,有一个小请求,我不知道该怎么做。

当用户键入他们的消息时,机器人会检查消息是否包含预定关键字(为了正确看待所有内容,我使用的是来自已经运行的 BOT 的示例),替换这部分(例如表情符号)并发布以发布消息的用户的名义再次发送消息。 (我不想完全这样做,我只是想知道如何“以其他用户身份发帖”,例如 动画表情符号 机器人)

它是这样工作的:

Example of image

另外,由于某种原因,创建的用户不是有效用户,因为他们没有任何角色或可以收到消息。如果您点击他们的个人资料(在聊天中),会发生这种情况:

Invalid profile

正如我之前所说,这在某种程度上是可能的(动画表情符号 机器人就是其中一个例子),我想知道,我该如何做这样的事情。

提前致谢,希望您度过愉快的一天!

最佳答案

我找到了一种简单的方法,看起来就像您在说的那样,只需使用用户名或您使用命令“充当”的另一个用户创建一个 webhook,将创建一个包含这些详细信息的 Discord webhook,然后删除 webhook,但保留消息。试试这个。

@client.command()
async def act(ctx, member: discord.Member, *, message=None):

if message == None:
await ctx.send(
f'Please provide a message with that!')
return

webhook = await ctx.channel.create_webhook(name=member.name)
await webhook.send(
str(message), username=member.name, avatar_url=member.avatar_url)

webhooks = await ctx.channel.webhooks()
for webhook in webhooks:
await webhook.delete()

编辑:webhook 是一种通信类型,可用于访问和自动化您的消息,以将数据更新发送到您的 Discord 文本 channel 。

在这种情况下,当从命令发送消息时,用户显示为机器人,但其他一切都来自用户。 NQN bot 使用的正是这种方法

关于python - Discord.py - 以不同的名称或用户发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65894198/

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