зачем вообще всего бота держать в bot.py..Зачем в bot.py держать какие-то каллбеки?
у него уже коллбеки там валяются (в апи библиотеки что он использует они называются eventами)..... ваш вопрос в чём заключается конкретно??
зачем вообще всего бота держать в bot.py..Зачем в bot.py держать какие-то каллбеки?
я вообще с discord.py перешел на диснейк недавно.Бедняга же расстроится, рассказал что знает, а тут такое ему пишут. Я конечно тоже понимаю, что гайд говна, но можно было чуть вежливо ответить.
А так браток хорош развеивайся и используй лучше обычную библиотеку discord.py, так как она, думаю, надежнее)
доебался основательно, особенно в гайде для новичковнеа.
конфиг файл с апи токеном??? ахахах найс
конфиг файл с .py разрешением потому что тебе лень парсить ямл/томл? ахахах найс
затем, это 1 часть блять, ты бы начало прочитал повнимательнеезачем вообще всего бота держать в bot.py..
сорян, мой проёб)А у вас тоже ctx это disnake.Message, а не disnake.ext.commands.Context
за 2 года моей практики разработки ботов, я еще никогда не импортировал ивенты ._., да и к тому же, он написал что будет часть про когизачем вообще всего бота держать в bot.py..
у него уже коллбеки там валяются (в апи библиотеки что он использует они называются eventами)..... ваш вопрос в чём заключается конкретно??
Ещё раз всем хай, это первый (ну получается второй) гайд в данном курсе:
#0 | Подготовка (установка python/disnake, создание бота) (ссылка)
#1 | Ивенты, команды | данный этап
#2 | Слэш-команды, обработка ошибок
#3 | Разделение кода (cogs)
#4 | Кнопки, выпадающие меню
#5 | Хостинг бота на сервере
Курс спонсирован напитком экстра-ситро
Просьба писать код вдумчиво, не просто копипастить.
Моя цель - чтобы те, кто ничего незнает, хоть чему-нибудь научились.
1. Начинаем писать бота
Создайте 2 файла:
bot.py - наш основной файл с ботом
config.py - файл с конфигурацией (токен, префикс и т.п.)
Для того чтобы начать писать команды или ивенты, надо написать базовый код:
>> bot.py:
1. Импортируем библиотеку disnake и commands
import disnake
from disnake.ext import commands
2. Сделаем переменную с нашим ботом:
Мы можем использовать disnake.Client:
bot = disnake.Client(intents=disnake.Intents.all())
Но я буду использовать commands.Bot
(он принимает такие же параметры, как Client):
bot = commands.Bot(intents=disnake.Intents.all(), command_prefix=config["prefix"])
Можно ещё импортировать из disnake Intents, чтобы получилось покрасивее
Делайте как хотитеPython:from disnake import Intents # импортируем Intents bot = commands.Bot(intents=Intents.all(), command_prefix=config["prefix"]) # вместо disnake.Intents.all() - Intents.all()
Также если вы работаете в Visual Studio Code, PyCharm (и других), можно посмотреть
какие аргументы принимает та или иная функция - просто наведитесь на неё курсором
Посмотреть вложение 247749
А где продолжение?Ещё раз всем хай, это первый (ну получается второй) гайд в данном курсе:
#0 | Подготовка (установка python/disnake, создание бота) (ссылка)
#1 | Ивенты, команды | данный этап
#2 | Слэш-команды, обработка ошибок
#3 | Разделение кода (cogs)
#4 | Кнопки, выпадающие меню
#5 | Хостинг бота на сервере
Курс спонсирован напитком экстра-ситро
Просьба писать код вдумчиво, не просто копипастить.
Моя цель - чтобы те, кто ничего незнает, хоть чему-нибудь научились.
1. Начинаем писать бота
Создайте 2 файла:
bot.py - наш основной файл с ботом
config.py - файл с конфигурацией (токен, префикс и т.п.)
Для того чтобы начать писать команды или ивенты, надо написать базовый код:
>> bot.py:
1. Импортируем библиотеку disnake и commands
import disnake
from disnake.ext import commands
2. Сделаем переменную с нашим ботом:
Мы можем использовать disnake.Client:
bot = disnake.Client(intents=disnake.Intents.all())
Но я буду использовать commands.Bot
(он принимает такие же параметры, как Client):
bot = commands.Bot(intents=disnake.Intents.all(), command_prefix=config["prefix"])
Можно ещё импортировать из disnake Intents, чтобы получилось покрасивее
Делайте как хотитеPython:from disnake import Intents # импортируем Intents bot = commands.Bot(intents=Intents.all(), command_prefix=config["prefix"]) # вместо disnake.Intents.all() - Intents.all()
Также если вы работаете в Visual Studio Code, PyCharm (и других), можно посмотреть
какие аргументы принимает та или иная функция - просто наведитесь на неё курсором
Посмотреть вложение 247749
3. Вставляете ниже запуск нашего бота:
bot.run(config["token"])
>> config.py:
Чтобы нашconfig["token"]
выдавал наш токен иconfig["prefix"]
выдавал наш префикс нам нужно создать конфиг:
1. Открываем config.py
2. Пишем в нём:
Далее вы можете добавлять свои переменные и вызывать их вот так:config.py:config = { 'token': 'TOKEN', # токен из #0 гайда 'prefix': '!' # наш префикс }
config["prefix"]
3. В bot.py пишем рядом с нашими импортами:from config import config
Это позволит использовать переменные config в bot.py
После данного этапа у нас должно получится примерно так:
Посмотреть вложение 247751
2. Ивенты
Если вы хотите автоматически отслеживать те или иные действия на вашем сервере (кто на него зашёл, кого забанили, кто зашёл в определенный войс), то нам нужны ивенты.
Их существует множество, все они есть в документации -Пожалуйста, авторизуйтесь для просмотра ссылки.
Мы разберём три ивента - on_ready, on_member_ban, on_member_join:
1. on_ready:
2. on_member_ban:Данный ивент вызывается когда бот полностью запускается, мы будем использовать его чтобы поставить какой-нибудь смешной статус и вывести сообщение в консоль:
Запускаем нашего бота и получается примерно так:Python:@bot.event async def on_ready(): await bot.change_presence(status=disnake.Status.online, activity=disnake.Game("ебашит гайды")) print(f"{bot.user.name} logged in.")
Посмотреть вложение 247752
Вы можете менять статус и активность, все доступные статусы и активности есть тут -Пожалуйста, авторизуйтесь для просмотра ссылки.,Пожалуйста, авторизуйтесь для просмотра ссылки.
Вот код который ставит "Не беспокоить" и Слушает пользователей:
await bot.change_presence(status=disnake.Status.do_not_disturb, activity=disnake.Activity(type=disnake.ActivityType.listening, name="пользователей")
Пожалуйста, авторизуйтесь для просмотра ссылки.
Также можно подключить там какую-нибудь ДБ, чтобы потом с ней взаимодействовать (для примера).
3. on_member_join:Данный ивент вызывается когда пользователя банят (не выгоняют), мы будем использовать его чтобы написать в определенный канал, что пользователь забанен.
Он отправляет объект сервера и пользователя - guild и user, guild - сервер в котором пользователя забанили и user - пользователь которого забанили.
Мы будем использовать только user.
Для нахождения канала по ID используем метод get_channel(id)
Можно также вывести в виде embed:Python:@bot.event async def on_member_ban(guild:disnake.Guild, user: disnake.Member): channel = await bot.get_channel(1107292203912544338) # получение канала #баны await channel.send(f"Пользователь {user.name}#{user.discriminator} был забанен.") # вывод сообщения о бане
Можно кастомизировать по своемуPython:@bot.event async def on_member_ban(guild:disnake.Guild, user: disnake.Member): channel = await bot.get_channel(1107292203912544338) # получение канала #баны emb = disnake.Embed(title="Ещё один бан", description=f"Пользователь {user.name}#{user.discriminator} был забанен") #создание embed await channel.send(embed=emb) # вывод embed'a в чат
Сообщение при бане -Пожалуйста, авторизуйтесь для просмотра ссылки.
Для получения ID нужно включить в настройках: Настройки -> Расширенные -> Режим разработчика, потом ЛКМ по каналу -> Копировать ID каналаДанный ивент вызывается, когда пользователь заходит на наш сервер, мы будем использовать его чтобы написать в определенный канал, что пользователь присоединился к нам.
Он отправляет объект пользователя - user.
Для нахождения канала по ID используем метод get_channel(id)
Можно вывести в embed, как в on_member_ban и сделать также с методом on_member_remove - это когда пользователь выходит с нашего сервера.Python:@bot.event async def on_member_join(user: disnake.Member): channel = await bot.get_channel(1107267042865848351) # получение канала #приглашения await channel.send(f"{user.mention} присоединился к нам!") # отправка сообщения
Сообщение при подключении пользователя -Пожалуйста, авторизуйтесь для просмотра ссылки.
3. Команды
4. ЗапускМы будем рассматривать слеш-команды в следующем гайде, а пока сделаем команды как в старые добрые, с помощью префикса
Мы сделаем команду say(пишет ваш текст, который вы написали в аргументах), ban и kick
1. say
2. ban и kickДанная команда напишет ваш текст, например, у вас есть канал в котором вы хотите писать от имени бота.
Вывод:Python:@bot.command() async def say(ctx: disnake.Message, *, text): # получение текста, который вы напишите await ctx.message.delete() # удаление сообщения await ctx.send(text) # отправка сообщения
Пожалуйста, авторизуйтесь для просмотра ссылки.
Данная команда забанит/кикнет пользователя, которого вы упомяните:
Для работыPython:@bot.command() async def kick(ctx: disnake.Message, member: disnake.Member): await ctx.message.delete() # удаление сообщения await member.kick()# кик пользователя ms = await ctx.send(f"{member.display_name} был кикнут с сервера.") # отправка сообщения await asyncio.sleep(3) # ожидание 3 секунды await ms.delete() # удаление сообщения @bot.command() async def ban(ctx: disnake.Message, member: disnake.Member): await ctx.message.delete() # удаление сообщения await member.ban() # бан пользователя ms = await ctx.send(f"{member.display_name} был забанен на сервере.")# отправка сообщения await asyncio.sleep(3) # ожидание 3 секунды await ms.delete() # удаление сообщения
asyncio.sleep(3)
импортируйте asyncio ->import asyncio
или добавьте к disnakeimport disnake, asyncio
На этом всё, делайте своих ботов.Можно запустить из visual studio code, если вы там пишите бота,Пожалуйста, авторизуйтесь для просмотра ссылки.
Или сделать start.bat в папке с bot.py cо следующим кодом:
и открыть его.Код:@echo off python bot.py pause>nul
Для связи: aristocratos#4840, только писать
Профессионалы могут указать на мои ошибки)
Спасибо, скоро увидимся
import disnake
from disnake.ext import commands
import os
intents = disnake.Intents.all()
bot = commands.Bot(command_prefix="!", intents=intents, test_guilds=[1205775275896602634])
@bot.event
async def on_ready():
print(f'Бот запущен {bot.user} (ID: {bot.user.id})')
for file in os.listdir("./cogs"):
if file.endswith(".py"):
bot.load_extension(f"cogs.{file[:-3]}")
bot.run('ваштокен')
Ещё раз всем хай, это первый (ну получается второй) гайд в данном курсе:
#0 | Подготовка (установка python/disnake, создание бота) (ссылка)
#1 | Ивенты, команды | данный этап
#2 | Слэш-команды, обработка ошибок
#3 | Разделение кода (cogs)
#4 | Кнопки, выпадающие меню
#5 | Хостинг бота на сервере
Курс спонсирован напитком экстра-ситро
Просьба писать код вдумчиво, не просто копипастить.
Моя цель - чтобы те, кто ничего незнает, хоть чему-нибудь научились.
1. Начинаем писать бота
Создайте 2 файла:
bot.py - наш основной файл с ботом
config.py - файл с конфигурацией (токен, префикс и т.п.)
Для того чтобы начать писать команды или ивенты, надо написать базовый код:
>> bot.py:
1. Импортируем библиотеку disnake и commands
import disnake
from disnake.ext import commands
2. Сделаем переменную с нашим ботом:
Мы можем использовать disnake.Client:
bot = disnake.Client(intents=disnake.Intents.all())
Но я буду использовать commands.Bot
(он принимает такие же параметры, как Client):
bot = commands.Bot(intents=disnake.Intents.all(), command_prefix=config["prefix"])
Можно ещё импортировать из disnake Intents, чтобы получилось покрасивее
Делайте как хотитеPython:from disnake import Intents # импортируем Intents bot = commands.Bot(intents=Intents.all(), command_prefix=config["prefix"]) # вместо disnake.Intents.all() - Intents.all()
Также если вы работаете в Visual Studio Code, PyCharm (и других), можно посмотреть
какие аргументы принимает та или иная функция - просто наведитесь на неё курсором
Посмотреть вложение 247749
3. Вставляете ниже запуск нашего бота:
bot.run(config["token"])
>> config.py:
Чтобы нашconfig["token"]
выдавал наш токен иconfig["prefix"]
выдавал наш префикс нам нужно создать конфиг:
1. Открываем config.py
2. Пишем в нём:
Далее вы можете добавлять свои переменные и вызывать их вот так:config.py:config = { 'token': 'TOKEN', # токен из #0 гайда 'prefix': '!' # наш префикс }
config["prefix"]
3. В bot.py пишем рядом с нашими импортами:from config import config
Это позволит использовать переменные config в bot.py
После данного этапа у нас должно получится примерно так:
Посмотреть вложение 247751
2. Ивенты
Если вы хотите автоматически отслеживать те или иные действия на вашем сервере (кто на него зашёл, кого забанили, кто зашёл в определенный войс), то нам нужны ивенты.
Их существует множество, все они есть в документации -Пожалуйста, авторизуйтесь для просмотра ссылки.
Мы разберём три ивента - on_ready, on_member_ban, on_member_join:
1. on_ready:
2. on_member_ban:Данный ивент вызывается когда бот полностью запускается, мы будем использовать его чтобы поставить какой-нибудь смешной статус и вывести сообщение в консоль:
Запускаем нашего бота и получается примерно так:Python:@bot.event async def on_ready(): await bot.change_presence(status=disnake.Status.online, activity=disnake.Game("ебашит гайды")) print(f"{bot.user.name} logged in.")
Посмотреть вложение 247752
Вы можете менять статус и активность, все доступные статусы и активности есть тут -Пожалуйста, авторизуйтесь для просмотра ссылки.,Пожалуйста, авторизуйтесь для просмотра ссылки.
Вот код который ставит "Не беспокоить" и Слушает пользователей:
await bot.change_presence(status=disnake.Status.do_not_disturb, activity=disnake.Activity(type=disnake.ActivityType.listening, name="пользователей")
Пожалуйста, авторизуйтесь для просмотра ссылки.
Также можно подключить там какую-нибудь ДБ, чтобы потом с ней взаимодействовать (для примера).
3. on_member_join:Данный ивент вызывается когда пользователя банят (не выгоняют), мы будем использовать его чтобы написать в определенный канал, что пользователь забанен.
Он отправляет объект сервера и пользователя - guild и user, guild - сервер в котором пользователя забанили и user - пользователь которого забанили.
Мы будем использовать только user.
Для нахождения канала по ID используем метод get_channel(id)
Можно также вывести в виде embed:Python:@bot.event async def on_member_ban(guild:disnake.Guild, user: disnake.Member): channel = await bot.get_channel(1107292203912544338) # получение канала #баны await channel.send(f"Пользователь {user.name}#{user.discriminator} был забанен.") # вывод сообщения о бане
Можно кастомизировать по своемуPython:@bot.event async def on_member_ban(guild:disnake.Guild, user: disnake.Member): channel = await bot.get_channel(1107292203912544338) # получение канала #баны emb = disnake.Embed(title="Ещё один бан", description=f"Пользователь {user.name}#{user.discriminator} был забанен") #создание embed await channel.send(embed=emb) # вывод embed'a в чат
Сообщение при бане -Пожалуйста, авторизуйтесь для просмотра ссылки.
Для получения ID нужно включить в настройках: Настройки -> Расширенные -> Режим разработчика, потом ЛКМ по каналу -> Копировать ID каналаДанный ивент вызывается, когда пользователь заходит на наш сервер, мы будем использовать его чтобы написать в определенный канал, что пользователь присоединился к нам.
Он отправляет объект пользователя - user.
Для нахождения канала по ID используем метод get_channel(id)
Можно вывести в embed, как в on_member_ban и сделать также с методом on_member_remove - это когда пользователь выходит с нашего сервера.Python:@bot.event async def on_member_join(user: disnake.Member): channel = await bot.get_channel(1107267042865848351) # получение канала #приглашения await channel.send(f"{user.mention} присоединился к нам!") # отправка сообщения
Сообщение при подключении пользователя -Пожалуйста, авторизуйтесь для просмотра ссылки.
3. Команды
4. ЗапускМы будем рассматривать слеш-команды в следующем гайде, а пока сделаем команды как в старые добрые, с помощью префикса
Мы сделаем команду say(пишет ваш текст, который вы написали в аргументах), ban и kick
1. say
2. ban и kickДанная команда напишет ваш текст, например, у вас есть канал в котором вы хотите писать от имени бота.
Вывод:Python:@bot.command() async def say(ctx: disnake.Message, *, text): # получение текста, который вы напишите await ctx.message.delete() # удаление сообщения await ctx.send(text) # отправка сообщения
Пожалуйста, авторизуйтесь для просмотра ссылки.
Данная команда забанит/кикнет пользователя, которого вы упомяните:
Для работыPython:@bot.command() async def kick(ctx: disnake.Message, member: disnake.Member): await ctx.message.delete() # удаление сообщения await member.kick()# кик пользователя ms = await ctx.send(f"{member.display_name} был кикнут с сервера.") # отправка сообщения await asyncio.sleep(3) # ожидание 3 секунды await ms.delete() # удаление сообщения @bot.command() async def ban(ctx: disnake.Message, member: disnake.Member): await ctx.message.delete() # удаление сообщения await member.ban() # бан пользователя ms = await ctx.send(f"{member.display_name} был забанен на сервере.")# отправка сообщения await asyncio.sleep(3) # ожидание 3 секунды await ms.delete() # удаление сообщения
asyncio.sleep(3)
импортируйте asyncio ->import asyncio
или добавьте к disnakeimport disnake, asyncio
На этом всё, делайте своих ботов.Можно запустить из visual studio code, если вы там пишите бота,Пожалуйста, авторизуйтесь для просмотра ссылки.
Или сделать start.bat в папке с bot.py cо следующим кодом:
и открыть его.Код:@echo off python bot.py pause>nul
Для связи: aristocratos#4840, только писать
Профессионалы могут указать на мои ошибки)
Спасибо, скоро увидимся
Привет, я делаю бота для дискорда на disnake и когда я попытался сделать так, чтобы при заходе человека на сервер бот писал ему в лс, но бот не понимает когда на сервер заходит пользователь. Вот код:Ещё раз всем хай, это первый (ну получается второй) гайд в данном курсе:
#0 | Подготовка (установка python/disnake, создание бота) (ссылка)
#1 | Ивенты, команды | данный этап
#2 | Слэш-команды, обработка ошибок
#3 | Разделение кода (cogs)
#4 | Кнопки, выпадающие меню
#5 | Хостинг бота на сервере
Курс спонсирован напитком экстра-ситро
Просьба писать код вдумчиво, не просто копипастить.
Моя цель - чтобы те, кто ничего незнает, хоть чему-нибудь научились.
1. Начинаем писать бота
Создайте 2 файла:
bot.py - наш основной файл с ботом
config.py - файл с конфигурацией (токен, префикс и т.п.)
Для того чтобы начать писать команды или ивенты, надо написать базовый код:
>> bot.py:
1. Импортируем библиотеку disnake и commands
import disnake
from disnake.ext import commands
2. Сделаем переменную с нашим ботом:
Мы можем использовать disnake.Client:
bot = disnake.Client(intents=disnake.Intents.all())
Но я буду использовать commands.Bot
(он принимает такие же параметры, как Client):
bot = commands.Bot(intents=disnake.Intents.all(), command_prefix=config["prefix"])
Можно ещё импортировать из disnake Intents, чтобы получилось покрасивее
Делайте как хотитеPython:from disnake import Intents # импортируем Intents bot = commands.Bot(intents=Intents.all(), command_prefix=config["prefix"]) # вместо disnake.Intents.all() - Intents.all()
Также если вы работаете в Visual Studio Code, PyCharm (и других), можно посмотреть
какие аргументы принимает та или иная функция - просто наведитесь на неё курсором
Посмотреть вложение 247749
3. Вставляете ниже запуск нашего бота:
bot.run(config["token"])
>> config.py:
Чтобы нашconfig["token"]
выдавал наш токен иconfig["prefix"]
выдавал наш префикс нам нужно создать конфиг:
1. Открываем config.py
2. Пишем в нём:
Далее вы можете добавлять свои переменные и вызывать их вот так:config.py:config = { 'token': 'TOKEN', # токен из #0 гайда 'prefix': '!' # наш префикс }
config["prefix"]
3. В bot.py пишем рядом с нашими импортами:from config import config
Это позволит использовать переменные config в bot.py
После данного этапа у нас должно получится примерно так:
Посмотреть вложение 247751
2. Ивенты
Если вы хотите автоматически отслеживать те или иные действия на вашем сервере (кто на него зашёл, кого забанили, кто зашёл в определенный войс), то нам нужны ивенты.
Их существует множество, все они есть в документации -Пожалуйста, авторизуйтесь для просмотра ссылки.
Мы разберём три ивента - on_ready, on_member_ban, on_member_join:
1. on_ready:
2. on_member_ban:Данный ивент вызывается когда бот полностью запускается, мы будем использовать его чтобы поставить какой-нибудь смешной статус и вывести сообщение в консоль:
Запускаем нашего бота и получается примерно так:Python:@bot.event async def on_ready(): await bot.change_presence(status=disnake.Status.online, activity=disnake.Game("ебашит гайды")) print(f"{bot.user.name} logged in.")
Посмотреть вложение 247752
Вы можете менять статус и активность, все доступные статусы и активности есть тут -Пожалуйста, авторизуйтесь для просмотра ссылки.,Пожалуйста, авторизуйтесь для просмотра ссылки.
Вот код который ставит "Не беспокоить" и Слушает пользователей:
await bot.change_presence(status=disnake.Status.do_not_disturb, activity=disnake.Activity(type=disnake.ActivityType.listening, name="пользователей")
Пожалуйста, авторизуйтесь для просмотра ссылки.
Также можно подключить там какую-нибудь ДБ, чтобы потом с ней взаимодействовать (для примера).
3. on_member_join:Данный ивент вызывается когда пользователя банят (не выгоняют), мы будем использовать его чтобы написать в определенный канал, что пользователь забанен.
Он отправляет объект сервера и пользователя - guild и user, guild - сервер в котором пользователя забанили и user - пользователь которого забанили.
Мы будем использовать только user.
Для нахождения канала по ID используем метод get_channel(id)
Можно также вывести в виде embed:Python:@bot.event async def on_member_ban(guild:disnake.Guild, user: disnake.Member): channel = await bot.get_channel(1107292203912544338) # получение канала #баны await channel.send(f"Пользователь {user.name}#{user.discriminator} был забанен.") # вывод сообщения о бане
Можно кастомизировать по своемуPython:@bot.event async def on_member_ban(guild:disnake.Guild, user: disnake.Member): channel = await bot.get_channel(1107292203912544338) # получение канала #баны emb = disnake.Embed(title="Ещё один бан", description=f"Пользователь {user.name}#{user.discriminator} был забанен") #создание embed await channel.send(embed=emb) # вывод embed'a в чат
Сообщение при бане -Пожалуйста, авторизуйтесь для просмотра ссылки.
Для получения ID нужно включить в настройках: Настройки -> Расширенные -> Режим разработчика, потом ЛКМ по каналу -> Копировать ID каналаДанный ивент вызывается, когда пользователь заходит на наш сервер, мы будем использовать его чтобы написать в определенный канал, что пользователь присоединился к нам.
Он отправляет объект пользователя - user.
Для нахождения канала по ID используем метод get_channel(id)
Можно вывести в embed, как в on_member_ban и сделать также с методом on_member_remove - это когда пользователь выходит с нашего сервера.Python:@bot.event async def on_member_join(user: disnake.Member): channel = await bot.get_channel(1107267042865848351) # получение канала #приглашения await channel.send(f"{user.mention} присоединился к нам!") # отправка сообщения
Сообщение при подключении пользователя -Пожалуйста, авторизуйтесь для просмотра ссылки.
3. Команды
4. ЗапускМы будем рассматривать слеш-команды в следующем гайде, а пока сделаем команды как в старые добрые, с помощью префикса
Мы сделаем команду say(пишет ваш текст, который вы написали в аргументах), ban и kick
1. say
2. ban и kickДанная команда напишет ваш текст, например, у вас есть канал в котором вы хотите писать от имени бота.
Вывод:Python:@bot.command() async def say(ctx: disnake.Message, *, text): # получение текста, который вы напишите await ctx.message.delete() # удаление сообщения await ctx.send(text) # отправка сообщения
Пожалуйста, авторизуйтесь для просмотра ссылки.
Данная команда забанит/кикнет пользователя, которого вы упомяните:
Для работыPython:@bot.command() async def kick(ctx: disnake.Message, member: disnake.Member): await ctx.message.delete() # удаление сообщения await member.kick()# кик пользователя ms = await ctx.send(f"{member.display_name} был кикнут с сервера.") # отправка сообщения await asyncio.sleep(3) # ожидание 3 секунды await ms.delete() # удаление сообщения @bot.command() async def ban(ctx: disnake.Message, member: disnake.Member): await ctx.message.delete() # удаление сообщения await member.ban() # бан пользователя ms = await ctx.send(f"{member.display_name} был забанен на сервере.")# отправка сообщения await asyncio.sleep(3) # ожидание 3 секунды await ms.delete() # удаление сообщения
asyncio.sleep(3)
импортируйте asyncio ->import asyncio
или добавьте к disnakeimport disnake, asyncio
На этом всё, делайте своих ботов.Можно запустить из visual studio code, если вы там пишите бота,Пожалуйста, авторизуйтесь для просмотра ссылки.
Или сделать start.bat в папке с bot.py cо следующим кодом:
и открыть его.Код:@echo off python bot.py pause>nul
Для связи: aristocratos#4840, только писать
Профессионалы могут указать на мои ошибки)
Спасибо, скоро увидимся
@bot.event
async def on_member_join(member):
print(member)
await member.send(f"Hi {member.name}")
полный код покажи или пробуй такПривет, я делаю бота для дискорда на disnake и когда я попытался сделать так, чтобы при заходе человека на сервер бот писал ему в лс, но бот не понимает когда на сервер заходит пользователь. Вот код:
Код:@bot.event async def on_member_join(member): print(member) await member.send(f"Hi {member.name}")
@bot.event
async def on_member_join(member):
try:
await member.send(f'Добро пожаловать на сервер, {member.name}!')
print(f'Отправлено приветственное сообщение пользователю {member.name}.')
except discord.errors.Forbidden:
print(f'Не удалось отправить сообщение пользователю {member.name}.')
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz