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

Python Discord.py-以不同的名称或用户发送消息,python,discord,discord.py,Python,Discord,Discord.py,我一直在开发一个机器人,有一个小请求,我不知道该怎么做 当用户键入他们的消息时,bot会检查消息是否包含预定的关键字(为了将所有内容放在透视图中,我使用了一个已经工作的bot中的示例),替换此部分(例如表情符号),然后以发布消息的用户的名义再次发布消息。(我不想完全这样做,我只想知道如何“以另一个用户的身份发布”,比如动画表情符号bot) 它的工作原理如下: 另外,由于创建的用户没有任何角色或可以发送消息,因此该用户不是有效用户。如果您单击他们的个人资料(在聊天室中),会发生以下情况: 正如

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

当用户键入他们的消息时,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是字节类型的对象