【问题标题】:How to send a welcome message in server using discord.py in a server如何在服务器中使用 discord.py 在服务器中发送欢迎消息
【发布时间】:2020-12-04 16:51:16
【问题描述】:

我希望我的机器人在有人加入服务器时发送一条消息(也提及他们)

@client.event
async def on_member_join(member):
    print('welcome!'f'{member}')

我唯一要更改的是这应该显示在通用频道中(现在它在终端中打印),而不是只显示人名,我希望它提及他们。 感谢您的帮助!

【问题讨论】:

    标签: python-3.x discord discord.py discord.py-rewrite


    【解决方案1】:

    要向频道发送消息,您需要获取该频道然后将消息发送到那里,您可以使用get_channel获取该频道

    client.get_channel(1234567890)# change to your channel id
    

    或使用 discord.utils.get 以防您想使用 name 代替

    discord.utils.get(member.guild.channels, name="welcome")
    

    顺便提一下,discord.py 为我们提供了member.mention

    await channel.send(member.mention)
    

    结合这两件事我们可以做到这一点

    @client.event
    async def on_member_join(member):
        channel = client.get_channel(1234567890) # change to your channel id
        await channel.send(f"Welcome {member.mention}!")
        print(f'{member.name} joined the server')
    

    【讨论】:

    • 感谢您的帮助,但我再次遇到错误 T_T 据我了解,这就是我所做的:@client.event async def on_member_join(member): channel = client.get_channel(737933993340698664) await channel.send(f'welcome {member.mention}') print(f'welcome {member.mention}') 我没有收到任何错误,但机器人没有打印出任何消息。我是不是搞错了?
    • 是否将欢迎消息发送到频道?
    • 不,它没有发送任何消息。对不起,我忘了在我的上一条评论中添加它。我的终端没有收到任何错误
    • 这很奇怪,因为代码对我和我的朋友都有效。你确定它不会引发任何错误吗?
    • 确保启用意图
    猜你喜欢
    • 1970-01-01
    • 2020-10-21
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2021-01-06
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多