- 8,847
- 11,511
согласен, но было бы лучше если бы гайд был по написанию бота на нормальном языке, а не на медленном говне с ублюдским синтаксисомНеплохой гайд. Ты молодец, продолжай в том же духе! ✌️
согласен, но было бы лучше если бы гайд был по написанию бота на нормальном языке, а не на медленном говне с ублюдским синтаксисомНеплохой гайд. Ты молодец, продолжай в том же духе! ✌️
Ну у каждого свои вкусы и интересы, кому то легко даётся Python и они бегут писать на нём всё что только можно, а кто то ударяется в Lua и при этом не проявляет интереса к какому-нибудь забытому всеми Ruby.согласен, но было бы лучше если бы гайд был по написанию бота на нормальном языке, а не на медленном говне с ублюдским синтаксисом
петухон почти всем дается легко. На счет вкусов согласен, но это не отменяет того факта что петухон медленнее чем тот же луаНу у каждого свои вкусы и интересы, кому то легко даётся Python и они бегут писать на нём всё что только можно
Это смотря с какой стороны посмотреть на LUA, на данном форуме для 90% ежедневной аудитории - Lua это то, на чём пишут "скрипты" & "программы" для sa:mp, в тоже время Lua это обычный скриптовый язык которому просто нашли применение и интегрировали в moonloader.петухон почти всем дается легко. На счет вкусов согласен, но это не отменяет того факта что петухон медленнее чем тот же луа
Большинство колег по цеху мне советуют своего бота переписать с питухона на js там хотя бы, но 4k~ строк кода в падлусогласен, но было бы лучше если бы гайд был по написанию бота на нормальном языке, а не на медленном говне с ублюдским синтаксисом
Любой язык - ублюдский, если смотришь на него сверху вниз. Вспоминать про Lua вообще не хочется, язык даже в лидеры не входит и где он там потерялся, можно и не думать. С++ тоже ублюдский, если забываешь про ; и прочие особенности синтаксиса, про ебать Паскаль и Кумир я вообще молчу. Но языки хороши там, где они нужны. А если тебе нужна скорость, то принимай таблетки. Делай костыли в связке с Си, чтобы быть извращенцем уровня Бога, я уже блять незнаю. К тому же если руки не из жопы, то любой процесс в питоне можно ускорить тем же numpy или multiproccess, зависит что тебе надо. Поэтому, старичок, дальше сиди и удручайся в LUA.согласен, но было бы лучше если бы гайд был по написанию бота на нормальном языке, а не на медленном говне с ублюдским синтаксисом
С его псевдоасинхронностью и не забудь про лужу, которая все еще для версии луа 5.1, когда еще в 2020 вышла 5.4. И разраб не собирается ничего делатьдальше сиди и удручайся в LUA
если забываешь про ; и прочие особенности синтаксиса
Именно на этапе парсинга компилятор выявляет синтаксические ошибки в программе. А точку с запятой он не ставит из-за того, что это может привести не к тому результату, который ожидает пользователь. Например в питоне не получится написать что-то, что может быть воспринято как одно целое. В том же время, в C++ точка с запятой служит средством разделения команд, чтобы в итоге некорректное выражение слилось в одно целое.
Вообще-то, такой код не выдаст ответа на команды, из-за отсутствия специальных намерений(в этом случае, полного их отсутствия)🤓🤓🤓Доброго времени форумчане БластХак!
Сегодня я расскажу и покажу, как создать своего первого бота в Discord!
Данный гайд посвящается всем, кто знает базу Python (кто не знает - иди учи питон)
Первый этап - Создание приложения.
Для начала вы должны создать приложение бота, для этого выполните все действия по порядку:
Примечание: Вы можете изменить название приложения, описание, теги, также вы можете получить айди бота и его Public Key. Ниже вы можете увидеть ещё 4 галочки, но там вы и сами все поймете.
- Перейдите на страницу https://discord.com/developers/applications
- Нажмите на New Application.Посмотреть вложение 197572
- Введите название приложения, прочитайте Developer Terms of Service (https://discord.com/developers/docs/policies-and-agreements/developer-terms-of-service) и Developer Policy (https://discord.com/developers/docs/policies-and-agreements/developer-policy) и также, я советую вам ознакомиться с https://discord.com/tos, после всего этого нажмите на кнопку Create.
Посмотреть вложение 197573
Посмотреть вложение 197574
! Если у вас включена двухфакторная аутентификация, вы должны ввести 6-значный код. Поздравляю! Ваше приложение создано абсолютно успешно.
- Перейдите во вкладку Bot.
Посмотреть вложение 197577
- Нажмите Add Bot и подтвердите это действие.
Посмотреть вложение 197581
Второй этап - Запуск нашего бота.
Для того чтобы получить токен бота, нажмите на кнопку View Token.
Посмотреть вложение 197580
Далее, напишем первый код!
Для удобства буду использовать библиотеку disnake (discord.py fork), но перед написанием кода мы должны создать файл с расширением .py!
Если создали файл - поздравляю, можем приступать к написанию кода!
Python:# Импорт библиотеки disnake. import disnake from disnake.ext import commands bot = commands.Bot(command_prefix="!") # Создание экземляра класса commands.Bot, в документации вы можете найти какие аргументы принимает этот класс. # С помощью command_prefix задаём префикс нашему боту, к примеру здесь будет префикс ! # Когда бот запущен, то будет вызван ивент. @bot.event async def on_ready(): print("Ваш бот готов!") # Запуск дискорд бота, как найти токен написано в гайде. bot.run("YOUR_DISCORD_BOT_TOKEN")
Дальше запускаем нашего бота. Можно запускать как через cmd, так и через созданный bat файл.
Готово!
Так-же приведу пример команды !ping, которая будет нам отвечать "Понг!"
Здесь мы используем уже декоратор @bot.command()
@bot.command() принимает в себя аргументы, а именно - name (имя команды, можно сделать команду на русском языке), description (описание команды, больше подходит для команд косой черты) и usage (пример использования команды).
Python:@bot.command(name = "ping", description = "Тест команда", usage = "ping") # в name задаём навзание команды async def ping(ctx): # передаём аргумент ctx (контекст) await ctx.reply("Понг!") # отвечаем пользователю вызвавшему команду.
Теперь по команде !ping бот будет отвечать вам Понг!
UPD 30.04. Сейчас покажу как создавать слеш команды (команды косой черты)!
Для этого нам нужно использовать декоратор @bot.slash_command()
Он принимает все те же аргументы, что и текстовые команды.
Пример команды !ping, но уже на слешах:
Python:@bot.slash_command(name = "ping", description = "Тест команда", usage = "ping") async def ping(inter): # теперь мы передаём в аргументе не ctx, а inter | interaction (интеракция) await inter.response.send_message("Понг!") # отправляем сообщение
Небольшое пояснение про Interaction (кратко inter)
Что вообще такое ваш Interaction и с чем его едят?
Interaction в переводе с английского означает взаимодействие.
Это, по сути, вебхуки под капотом (и для ответа на взаимодействие не требуется токен бота). Таким образом, у вас может быть приложение, предназначенное только для взаимодействия, к которому могут получить доступ пользователи, не имея пользователя-бота в гильдии.
Бот должен быть добавлен с разрешением applications.commands, чтобы создавать слэш команды на сервере. Это рекомендуется к добавлению этого разрешение к приглашениям вашего бота.
Итоговый код нашего бота:
Python:# Импорт библиотеки disnake. import disnake from disnake.ext import commands bot = commands.Bot(command_prefix="!") # Создание экземляра класса commands.Bot, в документации вы можете найти какие аргументы принимает этот класс. # С помощью command_prefix задаём префикс нашему боту, к примеру здесь будет префикс ! # Когда бот запущен, то будет вызван ивент. @bot.event async def on_ready(): print("Ваш бот готов!") # Наша первая команда @bot.command(name = "ping", description = "Тест команда", usage = "ping") # в name задаём навзание команды async def ping(ctx): # передаём аргумент ctx (контекст) await ctx.reply("Понг!") # отвечаем пользователю вызвавшему команду. # Наша слеш команда @bot.slash_command(name = "ping", description = "Тест команда", usage = "ping") async def ping(inter): # теперь мы передаём в аргументе не ctx, а inter | interaction (интеракция) await inter.response.send_message("Понг!") # отправляем сообщение # Запуск дискорд бота, как найти токен написано в гайде. bot.run("YOUR_DISCORD_BOT_TOKEN")
Спасибо за внимание, возможно в будущем ИМЕННО ТЫ станешь успешным разработчиком (нет)
А в чём проблема их включить? 🤓🤓🤓Вообще-то, такой код не выдаст ответа на команды, из-за отсутствия специальных намерений(в этом случае, полного их отсутствия)🤓🤓🤓
а ты случаем не павел боязов в дсе?Доброго времени форумчане БластХак!
Сегодня я расскажу и покажу, как создать своего первого бота в Discord!
Данный гайд посвящается всем, кто знает базу Python (кто не знает - иди учи питон)
Первый этап - Создание приложения.
Для начала вы должны создать приложение бота, для этого выполните все действия по порядку:
Примечание: Вы можете изменить название приложения, описание, теги, также вы можете получить айди бота и его Public Key. Ниже вы можете увидеть ещё 4 галочки, но там вы и сами все поймете.
- Перейдите на страницу https://discord.com/developers/applications
- Нажмите на New Application.Посмотреть вложение 197572
- Введите название приложения, прочитайте Developer Terms of Service (https://discord.com/developers/docs/policies-and-agreements/developer-terms-of-service) и Developer Policy (https://discord.com/developers/docs/policies-and-agreements/developer-policy) и также, я советую вам ознакомиться с https://discord.com/tos, после всего этого нажмите на кнопку Create.
Посмотреть вложение 197573
Посмотреть вложение 197574
! Если у вас включена двухфакторная аутентификация, вы должны ввести 6-значный код. Поздравляю! Ваше приложение создано абсолютно успешно.
- Перейдите во вкладку Bot.
Посмотреть вложение 197577
- Нажмите Add Bot и подтвердите это действие.
Посмотреть вложение 197581
Второй этап - Запуск нашего бота.
Для того чтобы получить токен бота, нажмите на кнопку View Token.
Посмотреть вложение 197580
Далее, напишем первый код!
Для удобства буду использовать библиотеку disnake (discord.py fork), но перед написанием кода мы должны создать файл с расширением .py!
Если создали файл - поздравляю, можем приступать к написанию кода!
Python:# Импорт библиотеки disnake. import disnake from disnake.ext import commands bot = commands.Bot(command_prefix="!") # Создание экземляра класса commands.Bot, в документации вы можете найти какие аргументы принимает этот класс. # С помощью command_prefix задаём префикс нашему боту, к примеру здесь будет префикс ! # Когда бот запущен, то будет вызван ивент. @bot.event async def on_ready(): print("Ваш бот готов!") # Запуск дискорд бота, как найти токен написано в гайде. bot.run("YOUR_DISCORD_BOT_TOKEN")
Дальше запускаем нашего бота. Можно запускать как через cmd, так и через созданный bat файл.
Готово!
Так-же приведу пример команды !ping, которая будет нам отвечать "Понг!"
Здесь мы используем уже декоратор @bot.command()
@bot.command() принимает в себя аргументы, а именно - name (имя команды, можно сделать команду на русском языке), description (описание команды, больше подходит для команд косой черты) и usage (пример использования команды).
Python:@bot.command(name = "ping", description = "Тест команда", usage = "ping") # в name задаём навзание команды async def ping(ctx): # передаём аргумент ctx (контекст) await ctx.reply("Понг!") # отвечаем пользователю вызвавшему команду.
Теперь по команде !ping бот будет отвечать вам Понг!
UPD 30.04. Сейчас покажу как создавать слеш команды (команды косой черты)!
Для этого нам нужно использовать декоратор @bot.slash_command()
Он принимает все те же аргументы, что и текстовые команды.
Пример команды !ping, но уже на слешах:
Python:@bot.slash_command(name = "ping", description = "Тест команда", usage = "ping") async def ping(inter): # теперь мы передаём в аргументе не ctx, а inter | interaction (интеракция) await inter.response.send_message("Понг!") # отправляем сообщение
Небольшое пояснение про Interaction (кратко inter)
Что вообще такое ваш Interaction и с чем его едят?
Interaction в переводе с английского означает взаимодействие.
Это, по сути, вебхуки под капотом (и для ответа на взаимодействие не требуется токен бота). Таким образом, у вас может быть приложение, предназначенное только для взаимодействия, к которому могут получить доступ пользователи, не имея пользователя-бота в гильдии.
Бот должен быть добавлен с разрешением applications.commands, чтобы создавать слэш команды на сервере. Это рекомендуется к добавлению этого разрешение к приглашениям вашего бота.
Итоговый код нашего бота:
Python:# Импорт библиотеки disnake. import disnake from disnake.ext import commands bot = commands.Bot(command_prefix="!") # Создание экземляра класса commands.Bot, в документации вы можете найти какие аргументы принимает этот класс. # С помощью command_prefix задаём префикс нашему боту, к примеру здесь будет префикс ! # Когда бот запущен, то будет вызван ивент. @bot.event async def on_ready(): print("Ваш бот готов!") # Наша первая команда @bot.command(name = "ping", description = "Тест команда", usage = "ping") # в name задаём навзание команды async def ping(ctx): # передаём аргумент ctx (контекст) await ctx.reply("Понг!") # отвечаем пользователю вызвавшему команду. # Наша слеш команда @bot.slash_command(name = "ping", description = "Тест команда", usage = "ping") async def ping(inter): # теперь мы передаём в аргументе не ctx, а inter | interaction (интеракция) await inter.response.send_message("Понг!") # отправляем сообщение # Запуск дискорд бота, как найти токен написано в гайде. bot.run("YOUR_DISCORD_BOT_TOKEN")
Спасибо за внимание, возможно в будущем ИМЕННО ТЫ станешь успешным разработчиком (нет)