Python Discord.py-以不同的名称或用户发送消息
我一直在开发一个机器人,有一个小请求,我不知道该怎么做 当用户键入他们的消息时,bot会检查消息是否包含预定的关键字(为了将所有内容放在透视图中,我使用了一个已经工作的bot中的示例),替换此部分(例如表情符号),然后以发布消息的用户的名义再次发布消息。(我不想完全这样做,我只想知道如何“以另一个用户的身份发布”,比如动画表情符号bot) 它的工作原理如下: 另外,由于创建的用户没有任何角色或可以发送消息,因此该用户不是有效用户。如果您单击他们的个人资料(在聊天室中),会发生以下情况: 正如我之前所说的,这在某种程度上是可能的(动画表情机器人就是一个例子),我想知道,我怎么能做这样的事情Python Discord.py-以不同的名称或用户发送消息,python,discord,discord.py,Python,Discord,Discord.py,我一直在开发一个机器人,有一个小请求,我不知道该怎么做 当用户键入他们的消息时,bot会检查消息是否包含预定的关键字(为了将所有内容放在透视图中,我使用了一个已经工作的bot中的示例),替换此部分(例如表情符号),然后以发布消息的用户的名义再次发布消息。(我不想完全这样做,我只想知道如何“以另一个用户的身份发布”,比如动画表情符号bot) 它的工作原理如下: 另外,由于创建的用户没有任何角色或可以发送消息,因此该用户不是有效用户。如果您单击他们的个人资料(在聊天室中),会发生以下情况: 正如
提前谢谢你,祝你度过愉快的一天 我找到了一个简单的方法,就像你所说的,简单地用用户名或你使用命令“扮演”的另一个用户创建一个webhook,将创建一个带有这些细节的不一致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文本频道发送数据更新
在这种情况下,当从命令发送消息时,用户显示为bot,但其他所有内容都来自用户。NQN bot使用了这个精确的方法我找到了一个简单的方法,就像你所说的,简单地创建一个带有用户名的webhook,或者您使用命令“扮演”的另一个用户,将创建一个带有这些细节的不一致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文本频道发送数据更新
在这种情况下,当从命令发送消息时,用户显示为bot,但其他所有内容都来自用户。NQN bot使用这种精确的方法您可以使用
user.avatar
属性获取用户的化身&使用user.name
属性获取名称。
然后使用
wait bot.user.edit(avatar=b,name=“name”)
更改机器人的虚拟形象。其中b是字节类型的对象。您可以使用user.avatar
属性获取用户的化身&使用user.name
属性获取名称。
然后使用wait bot.user.edit(avatar=b,name=“name”)
更改机器人的虚拟形象。其中b是字节类型的对象