我有这个我以前用过的代码。但它突然停止工作。所以我尝试了一切。但我不知道如何解决这个问题。有人可以帮忙吗?
@bot.event
async def on_member_join(member):
guild = bot.get_guild(guild_id)
embed = discord.Embed(title="Welcome", description=f"Hi {member.mention} welcome to {guild.name}")
embed.set_footer(text="UnhelpfulBOT© | Made by Kezz#4058")
await bot.get_channel(channel_id).send(content=None, embed=embed)```
答案 0 :(得分:0)
首先让我们不是通过一些魔法变量而是通过加入的成员(Documentation)获得公会
@bot.event
async def on_member_join(member):
guild = member.guild
embed = discord.Embed(title="Welcome", description=f"Hi {member.mention} welcome to {guild.name}")
embed.set_footer(text="UnhelpfulBOT© | Made by Kezz#4058")
现在我们需要在成员加入的频道中发送消息。
会员加入的一般频道是guild.system_channel
(Documentation)。如果没有设置这个频道,我们就不会发送消息。
system_channel = guild.system_channel
if system_channel is None:
print('No system channel found')
else:
await.send(embed = embed)
答案 1 :(得分:-1)
您不能只bot.get_channel(channel_id)
,因为有很多频道。相反,让它更具体,比如频道名称,或者让公会所有者选择一个 JSON 数据库表来记录它。
答案 2 :(得分:-1)
你的代码有一些错误,我认为这更像是你的代码应该是什么样子。至于您没有收到任何错误消息,这是一件非常奇怪的事情,我不确定为什么会发生。
@bot.event
async def on_member_join(member):
guild = await bot.get_guild(guild_id)
embed = discord.Embed(
title = "Welcome",
description = f"Hi {member.mention} welcome to {guild.name}"
)
embed.set_footer(text = "UnhelpfulBOT© | Made by Kezz#4058")
channel = await bot.get_channel(channel_id)
await channel.send(embed = embed)