不确定当成员加入 Discord 服务器时如何让机器人发送消息
Unsure as to how to have a bot send a message when a member joins a Discord Server
首先,我尝试用谷歌搜索这个但永远找不到真正的答案所以我在 Whosebug 上。所以,我正在尝试为我的 discord 机器人添加问候效果,但似乎无法发送消息。我知道机器人没有发送消息,因为使用 message.channel.send 时未定义“消息”,但我不知道这样做的正确方法。
错误:
Traceback (most recent call last):
File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "<string>", line 20, in on_member_join
NameError: name 'message' is not defined`)
import discord
bot = discord.Client()
@bot.event
async def on_ready():
print('Logged in')
print("Username: %s" % (bot.user.name))
print("Userid: %s" % (bot.user.id))
@bot.event
async def on_member_join(member):
print(f'{member} has joined the server')
await message.channel.send('{member} has joined the server'.format(message))
@bot.event
async def on_member_remove(member):
print(f'{member} has left the server')
await message.channel.send('{member} has left the server'.format(message))
bot.run(Token)
使用 get_channel
获取您的#welcome 频道,将其分配给一个变量,然后发送欢迎消息。
@client.event
async def on_member_join(member):
channel = client.get_channel(730064641857683581) # Replace with your Welcome channel ID
await channel.send(f"{member} has joined the server")
错误正确。如果未定义 message
,message.channel.send
将永远不会工作,但事实并非如此。 message
是某些 discord.py
函数的参数,但不是 on_member_join
或 on_member_remove
,因为这些不会发生在特定频道中。您必须 pre-specify 将消息发送到哪个频道。
首先,我尝试用谷歌搜索这个但永远找不到真正的答案所以我在 Whosebug 上。所以,我正在尝试为我的 discord 机器人添加问候效果,但似乎无法发送消息。我知道机器人没有发送消息,因为使用 message.channel.send 时未定义“消息”,但我不知道这样做的正确方法。
错误:
Traceback (most recent call last):
File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "<string>", line 20, in on_member_join
NameError: name 'message' is not defined`)
import discord
bot = discord.Client()
@bot.event
async def on_ready():
print('Logged in')
print("Username: %s" % (bot.user.name))
print("Userid: %s" % (bot.user.id))
@bot.event
async def on_member_join(member):
print(f'{member} has joined the server')
await message.channel.send('{member} has joined the server'.format(message))
@bot.event
async def on_member_remove(member):
print(f'{member} has left the server')
await message.channel.send('{member} has left the server'.format(message))
bot.run(Token)
使用 get_channel
获取您的#welcome 频道,将其分配给一个变量,然后发送欢迎消息。
@client.event
async def on_member_join(member):
channel = client.get_channel(730064641857683581) # Replace with your Welcome channel ID
await channel.send(f"{member} has joined the server")
错误正确。如果未定义 message
,message.channel.send
将永远不会工作,但事实并非如此。 message
是某些 discord.py
函数的参数,但不是 on_member_join
或 on_member_remove
,因为这些不会发生在特定频道中。您必须 pre-specify 将消息发送到哪个频道。