@dIViNe_mOnGooSE

Как мне сделать прощание в дискорд боте?

Код:

import discord
from discord.ext import commands
from distutils.sysconfig import PREFIX

TOKEN= '***'
intents = discord.Intents.all()
bot = commands.Bot(command_prefix = '+', intents=intents)
channelIDS= 847202767772188713
channelIDS2= 847212309494366278

@bot.event
async def on_ready():
    print("я запущен!")

@bot.event
async def on_member_join(member):
    try:
        channel = member.guild.system_channel(channelIDS)
        await channel.send("приветствую тебя {} на нашем прекрасном сервере {} !) ".format(str(member.mention),str(member.guild)))
    except:
        channel = member.guild.get_channel(channelIDS)
        await channel.send("приветствую тебя {} на нашем прекрасном сервере {} !)".format(str(member.mention),str(member.guild)))

@bot.event
async def on_member_remove(member):
    try:
        channel = member.guild.system_channel(channelIDS2)
        await channel.send("{}прощай...ты был прекрасным человеком! ".format(str(member.mention),str(member.guild)))
    except:
        channel = member.guild.get_channel(channelIDS2)
        await channel.send("{}прощай...ты был прекрасным человеком!".format(str(member.mention),str(member.guild)))

bot.run(TOKEN)
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
@D2xGY
Не замужем
В https://discord.com/developers/applications нужно включить PRESENCE INTENT и SERVER MEMBERS INTENT
Это находится во вкладке Bot, прям над пермишанами.
62fd472758cca795714942.png

Также, у меня почему то твоим методом не определял канал, решил немного изменить, сработало.

import discord
from discord.ext import commands

token='****'
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='+', intents=intents)

channel_for_entering = 847202767772188713
channel_for_leaving = 847212309494366278

@bot.event
async def on_ready():
    print("Я запущен!")

@bot.event
async def on_member_join(member):
    channel = bot.get_channel(channel_for_entering)
    await channel.send(f"приветствую тебя, {member.mention}, на нашем прекрасном сервере {member.guild}!)")

@bot.event
async def on_member_remove(member):
    channel = bot.get_channel(channel_for_leaving)
    await channel.send(f"{member.mention}, прощай...ты был прекрасным человеком!")

bot.run(token)

Этот код, по крайней мере, сработал
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы