#V9GAS
Компетентный
Приветсвую, в этом уроке мы будем создавать Дискорд Бота.
Автор: Я.
Движок: Visual Studio Code.
1. Первым действием создаем папку с любым названием главное на английском, после в ней же создаём 2 файла с названиями main.py и config.py.
2. Второе мы заходим в Visual Studio Code и в директорию где была указан бот и заходим в файл main.py.
Начинаем уже опытное программирование.
3. Там мы пишем
Параметры:
import config - Импортируем файлы из файла config.py.
import discord - Сеть с чем мы будем заниматься.
4. Заходим в config.py и вписываем туда данную команду:
Параметры:
token - Токен вашего бота, без него ваш мод работанеть НЕ будет.
5. Возвращаемся в main.py и прописываем следующий код.
Параметры:
command_prefix - это префикс с помощью которой будет начинаться команда при её прописывании.
remove.command - Команда help вместо основной встроенной команды.
6. Создаем код для включения бота.
Где "Бот работает в нормальном режиме." можно заменить на своё.
7. Начинаем создавать первую команду.
Параметры и обьяснение:
Данная команда считает цифры, Например: 1 2, плюс не надо ставить.
sum - это название команды.
8. Создаём код очистки чата.
Параметры и обьяснение:
Команда очищяет нужное кол-во сообщений.
count - Кол-во.
9. Создаём команду хелп(help).
Параметры и обьяснение:
Команда help НЕ полная.
Где "Я виртуальный Помощник" можно заменить на свой текст.
10. Создаём команду Ban - Unban.
Параметры и обьяснение:
Команда банит нужного вами человека. (Занесение в раздел Ban's).
Команда разбана:
11. Создаём команду Kick (Кик).
Параметры и обьяснение:
Команда полностью кикает нужного человека с сервера.
12. Создаем код в конце чтоб бот работал.
Параметры:
bot.run - Запускает бота.
config.token - Берёт токен из файла config,py.
На этом урок закончен. Будет другие темы с продолжением кода.
Спасибо за внимание. Строго не судить. Данный бот мой первый.
Автор: Я.
Движок: Visual Studio Code.
1. Первым действием создаем папку с любым названием главное на английском, после в ней же создаём 2 файла с названиями main.py и config.py.
2. Второе мы заходим в Visual Studio Code и в директорию где была указан бот и заходим в файл main.py.
Начинаем уже опытное программирование.
3. Там мы пишем
PHP:
import config
from discord.ext import commands
import discord
import asyncio
import config - Импортируем файлы из файла config.py.
import discord - Сеть с чем мы будем заниматься.
4. Заходим в config.py и вписываем туда данную команду:
Python:
token = 'Ваш токен бота'
token - Токен вашего бота, без него ваш мод работанеть НЕ будет.
5. Возвращаемся в main.py и прописываем следующий код.
Код:
bot = commands.Bot(command_prefix='.')
bot.remove_command("help")
command_prefix - это префикс с помощью которой будет начинаться команда при её прописывании.
remove.command - Команда help вместо основной встроенной команды.
6. Создаем код для включения бота.
Код:
@bot.event
async def on_ready():
print('Бот работает в нормальном режиме.')
7. Начинаем создавать первую команду.
Код:
@bot.command()
async def sum(ctx, x: int, y: int):
await ctx.send(x+y)
Данная команда считает цифры, Например: 1 2, плюс не надо ставить.
sum - это название команды.
8. Создаём код очистки чата.
Python:
@bot.command()
async def clear(ctx, count: int):
await ctx.channel.purge(limit=count+1)
await ctx.send(f"Было удаленно {count} сообщений.")
Команда очищяет нужное кол-во сообщений.
count - Кол-во.
9. Создаём команду хелп(help).
Python:
@bot.command()
async def help(ctx):
await ctx.send("Я виртуальный Помощник.")
Команда help НЕ полная.
Где "Я виртуальный Помощник" можно заменить на свой текст.
10. Создаём команду Ban - Unban.
Python:
@bot.command()
async def ban(ctx, member: discord.Member = None, time = None, *, reason: str = None):
time_letter = time[-1:]
time_numbers = int(time[:-1])
def t(time_Letter):
if time_letter == 's':
return 1
if time_letter == 'm':
return 60
if time_letter == 'h':
return 60*60
if time_letter == 'd':
return 60*60*24
async def unb(member):
users = await ctx.guild.bans()
for ban_user in users:
if ban_user.user == member:
await ctx.guild.unban(ban_user.user)
if member:
if time:
time_letter = time[-1:]
time_numbers = int(time[:-1])
def t(time_Letter):
if time_letter == 's':
return 1
if time_letter == 'm':
return 60
if time_letter == 'h':
return 60*60
if time_letter == 'd':
return 60*60*24
if reason:
await member.ban(reason=reason)
await ctx.send(embed=discord.Embed(description=f'Пользователь {member.mention} был Забанен \nна: {time} \nПричина: {reason}'))
await asyncio.sleep(time_numbers*t(time_letter))
await unb(member)
await ctx.send(f'Пользователь {member.mention} Разбанен')
else:
await member.ban()
await ctx.send(embed=discord.Embed(description=f'Пользователь {member.mention} был Забанен \nна: {time}.'))
await asyncio.sleep(time_numbers*t(time_letter))
await unb(member)
await ctx.send(f'Пользователь {member.mention} Разбанен.')
else:
await member.ban()
await ctx.send(embed=discord.Embed(description=f'Пользователь {member.mention} был Забанен.'))
else:
await ctx.send('Введите имя пользователя.')
Команда банит нужного вами человека. (Занесение в раздел Ban's).
Команда разбана:
Код:
@bot.command()
async def unban(ctx, id_: int = None):
if id_:
banned_users = await ctx.guild.bans()
member_full = bot.get_user(id=id_)
for ban in banned_users:
if ban.user == member_full:
await ctx.guild.unban(ban.user)
await ctx.send('Пользователь разбанен.')
else:
await ctx.send('Введите айди.')
Код:
@bot.command()
async def kick(ctx, member: discord.Member = None, *, reason:str =None):
if member:
if reason:
await member.kick(reason=reason)
await ctx.send(embed=discord.Embed(description=f'Пользователь {member.mention} был кикнут \nПричина: {reason}' ))
else:
await member.kick()
await ctx.send(embed=discord.Embed(description=f'Пользователь {member.mention} был кикнут'))
else:
await ctx.send('Введите имя пользователя')
Команда полностью кикает нужного человека с сервера.
12. Создаем код в конце чтоб бот работал.
PHP:
bot.run(config.token)
bot.run - Запускает бота.
config.token - Берёт токен из файла config,py.
На этом урок закончен. Будет другие темы с продолжением кода.
Спасибо за внимание. Строго не судить. Данный бот мой первый.
