我希望我的不和谐机器人在特定的频道上发送消息,并在每次新用户加入服务器时提供特定的角色
但是我的机器人什么也没做,我也没有出错
import discord
from keep_alive import keep_alive
class MyClient(discord.Client):
#Beim Einloggen
async def on_ready(self):
print("BOT is online")
async def on_member_join(member):
role = discord.utils.get(member.server.roles, id=<role_id>)
channel = MyClient.get_channel(<channel_id>)
await MyClient.add_roles(member, role)
await channel.send(f"Hello {member} nice to see you!")
试试这个!(这不是在cog中使用的)
@client.event
async def on_member_join(member):
if member.guild.id !=<YOUR_GUILD_ID>:
return
welcomerole = discord.utils.get(guild.roles, name="<ROLE_NAME>")
await member.add_roles(welcomerole)
channel = client.get_channel(<WELCOME_CHANNEL_ID)
await channel.send("<WHAT_YOU_WANT>")
这样,当有人加入您的服务器时,它会将您选择的自定义消息发送到欢迎频道
确保你将你的公会ID添加到
确保在成员加入时添加自定义消息
确保在中添加欢迎频道ID
请确保您添加角色名称时,你得到的成员加入
用户问候语的代码(cog):
@commands.Cog.listener()
async def on_member_join(self, member):
channel = member.guild.system_channel
if channel is not None:
await channel.send(f"Welcome to the server {member.mention}!")
基本上,您缺少se@命令。齿轮侦听器()
's
当成员加入服务器时,bot不会以消息响应。有什么问题吗?
我试图让我的discord bot mass给我服务器中的每个人一个角色。每当我做时,它只给我角色。我尝试过使用map和array。使用
所以我用discord编写了一个discord机器人。js的一个特性是,当新用户加入服务器时,bot会发送一条消息。我现在不做嵌入,我以后可以自己做。 这是我的主要专为此功能制作的文件: 在我的文件中,我刚刚导入了该文件,并添加了。 但由于某些原因,我的代码没有出现在欢迎频道。。。任何帮助都将不胜感激。
机器人信息 包含机器人的基本信息和服务管理。在机器人列表页点击“基本信息”,跳转到机器人信息页面;或者点击“设置机器人”,在机器人详情页点击左侧的“机器人信息”,也可以进入机器人信息页面。 基本信息 基本信息包括机器人昵称和头像设置。 服务管理 服务管理客队机器人服务功能进行设置,现主要分为六大类:日常聊天、物流查询、自动对联、机器写诗、知识问答、自定义闲聊。选择服务功能的开启之后,便可点击左下角
我希望这样,当我键入一个命令和一条消息时,它将把这条消息转发到机器人与python不和谐连接的每个服务器中的一个通道。我知道如何获取消息并寻找命令,但我不知道如何找到机器人可以在每个服务器上发布的频道,然后发送它。 有人能帮我吗?
如何防止机器人连续两次发送相同的欢迎消息?我认为这与定义服务器消息意图有关。 client.on: 客户频道。隐藏物获取('channelID')。发送(“欢迎”);