所以我尝试使用 on_member_join
发送欢迎消息,但它不起作用。以下是我认为与该问题相关的所有代码:
我的进口
#Imports
import discord
import random
import os
import keep_alive
import requests
import json
from Variables import *
from discord.ext import commands
与欢迎信息相关的所有内容:
@client.event
async def on_member_join(member):
with open('guilds.json', 'r', encoding='utf-8') as f:
guilds_dict = json.load(f)
channel_id = guilds_dict[str(member.guild.id)]
await client.get_channel(int(channel_id)).send(f'{member.mention} welcome to the Otay! Support server! Enjoy your stay!?')
@client.command(name='welcome')
async def set_welcome_channel(ctx, channel: discord.TextChannel):
with open('guilds.json', 'r', encoding='utf-8') as f:
guilds_dict = json.load(f)
guilds_dict[str(ctx.guild.id)] = str(channel.id)
with open('guilds.json', 'w', encoding='utf-8') as f:
json.dump(guilds_dict, f, indent=4, ensure_ascii=False)
await ctx.send(f'Sent welcome channel for {ctx.message.guild.name} to {channel.name}')
在名为“guilds.json”的 JSON 文件中
{
"822514664863957054": "847897881431900222"
}
我的朋友做了完全相同的事情,但对他有用,所以我很困惑。如果您想了解更多信息,请对此消息发表评论。
非常感谢任何支持,谢谢!
答案 0 :(得分:0)
在导入下面添加这个
intents = discord.Intents.default()
intents.members = True
然后把这个 - intents=intents 放在下面
client = commands.Bot(command_prefix = 'd', intents = intents)
在开发者页面 https://discord.com/developers/applications 上,转到您的应用程序,然后转到侧边栏中的机器人部分 click on the bot part
看看这张图片,并确保选中突出显示的位 make sure the highlighted bits in yellow are checked
希望这有效