Гайд Как создавать Discord-ботов на Lua.

tfornik

Известный
Автор темы
309
222
Всех приветствую. В данной теме попытаюсь рассказать, как написать лёгкого бота на языке Lua.
Буду объяснять поэтапно.
Да, я не умею писать классные статьи, надеюсь смог объяснить.
Больше информации вы сможете найти на официальном Wiki Discordia - https://github.com/SinisterRectus/Discordia/wiki


• Работа с Discord Developer
1. Для начала перейдём на сайт https://discord.com/developers/applications. Если потребуется регистрация - регистрируемся!
2. В правом верхнем углу жмём на кнопку "New Application"
3. Даём имя и соглашаемся с политикой Discord.
1684177804920.png
4. Мы создали наше "приложение" в портале Discord Developer.
5. Слева мы можем видеть панель перехода, где переходим в раздел "Bot"
6. Опускаемся вниз к разделу "Privileged Gateway Intents" и обязательно СТАВИМ ТРИ ГАЛОЧКИ! Затем сохраняем.
1684177950138.png
7. В разделе "OAuth2", подраздел "URL Generator", генерируем ссылку.
8. В "SCOPES" выбираем кнопку "bot", в Bot Permissions "Administrator", затем внизу копируем ссылку и вставляем её в браузер.
1684178068735.png
9. Выбираем канал, где мы хотим видеть нашего бота, и добавляем его.
10. Вуаля, бот добавлен!
11. Получим токен. Для этого перейдём в раздел "Bot", затем жмём кнопку "Reset Token" после "Copy".
1684178197010.png

Если вы уже умеете создавать бота и получать токен на портале дискорда, для вас это будет проще.

• 1 Этап - Создание виртуального окружения нашего бота, загрузка библиотеки "Discordia" от замечательного автора SinisterRectus.
1. Создадим папку, где будет находиться наш бот.
2. Перейдём на сайт luvit.io >> Install >> Копируем команду для PowerShell(Скрин)

1684178458982.png

3. Переходим в нашу папку, нажимаем на расположение, и в поле вводим cmd( Или просто запускаем консоль, и через команду cd *директория* )
4. Вставляем( и жмём Enter :D ) нашу команду и ждём( Если загрузка сразу не пошла, нажмите любую клавишу ). Должно скачаться три файла: "luvit", "luvi", "lit"( Screen )

1684178671843.png

5. В этой же консоли прописываем команду:
Скачивание библиотеки Discordia:
lit install SinisterRectus/discordia
6. После появления папки "deps" в данной директории, создадим файлик "bot.lua", где будут прописываться наш бот в целом.

• 2 Этап - Кодим нашего бота.

1. Откроем файл "bot.lua", ну или как он у вас называется, и впишем в него следующий код. ( ВАЖНО! КОДИРОВКУ СТАВИТЬ НЕ НУЖНО!! )
Lua:
local discordia = require('discordia') -- Подключаем библиотеку Discordia
local client = discordia.Client() -- Берём клиента в оборот


client:on('ready', function() -- Обработчик события "Ready", когда бот уже запустился!
    print('Bot is run')
end)

client:on('messageCreate', function(message) -- Обработчик события "messageCreate" - Срабатывает при новом сообщении.
    local memberName = message.member.username -- Получаем ник пользователя
    local memberId = message.member.id -- Получаем ID пользователя discord
    local content = message.content -- В переменную content сохраняем само сообщение

    if content:lower() == '!hello' then -- lower() - Нижний регистр( not caps )
        message:reply('Приветствую, '..memberName) -- Эквивалентен функции Message.channel:send - отправка сообщения
    end
  
end)

client:run('Bot TOKEN') -- Вместо TOKEN вставляем токен нашего бота, полученный на портале DS Developers

2. Чтобы запустить нашего бота нам потребуется открыть консоль в директории, где находится бот.
3. Вводим команду:
Код:
luvit *название файла*.lua
4. При успехе мы получим данный ответ( Screen )

1684179493384.png

5. Как мы видим, всё работает.
1684179683032.png



Больше информации вы сможете найти на официальном Wiki Discordia - https://github.com/SinisterRectus/Discordia/wiki

Спасибо, то прочли мой гайд. Надеюсь у меня получилось вас заинтересовать к работе с данной библиотекой.


@chapo , огонь из всех орудий на этот гайд!

Как его связать с сампом - не знаю.
Можно просто ассинхронные запросы делать , там вроде не сложно :/
😁🙁



1684180954445.png

-
1684181000736.png

-
1684181057737.png

-
1684181128432.png
 

Вложения

  • 1684180718589.png
    1684180718589.png
    58.8 KB · Просмотры: 219
Последнее редактирование: