Отправляйте запросы боту Discord, и он будет искать и отвечать на основе ваших баз данных Notion!

Я часто использую Discord и Notion.

  • Discord — это социальная платформа для друзей и онлайн-сообществ.
  • Notion — мой второй мозг для хранения всех долговременных воспоминаний, где у меня было несколько баз данных.

Недавно (2022 г.) я какое-то время подытоживал знания C++. Я нахожу создание бота Discord интересным и ценным побочным проектом вне работы. В конечном итоге бот может искать и анализировать информацию из моих баз данных Notion.

Эта статья — первая из серии, в которой мы расскажем, как настроить с нуля и позволить нашему боту Discord сказать «Привет»!

Настройка с нуля

Установить sleepy_discord

Создайте папку с одним файлом main.cpp; Давайте поместим код. В настоящее время это может выглядеть глупо, и это точно не удастся :).

Первым шагом является установка внешних пакетов, необходимых для вашего проекта. Я выбрал sleep_discord среди всех доступных пакетов C++ Discord, так как он занял первое место в моем поиске Google. Мы будем следовать инструкциям, данным в официальном документе, и подробно рассмотрим их.

Клонировать Git

Чтобы сделать наши каталоги проектов более организованными, мы следуем инструкциям и git clone sleepy_discord в папке с именем deps/.

Установите OpenSSL

OpenSSL является одним из обязательных условий, указанных в документации для установки sleepy_discord. Я предпочитаю комплектовать внешние пакеты через Conan, если они доступны в Conan center.

Примечание: я написал статью о Конане. Если интересно, вы можете узнать больше.

Мы указываем Конану установить OpenSSL в стиле CMake-build в conanfile.txt (см. выходные данные команды cat). Затем мы создаем папку build/ для хранения всех файлов, созданных conda install. Позже нам просто нужно указать использование build/conanbuildinfo.cmake в CMakeLists.txt.

CMakeLists.txt

Мы клонируем наш репозиторий sleepy_discord и conan install вызываем его. Последняя процедура предлагает компьютерам, как построить наш проект C++, заполняя наш CMakeLists.txt, куда мы включаем Conan (строки 9–10) и sleepy_dicosrd (строки 15–17). ).

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

Перейдите в папку build/ и выполните сборку. Мы наладили бесперебойную работу нашего main.cpp! Вы должны увидеть надпись «Все в порядке для импорта», указывающую на то, что все готово для написания нашего бота Discord.

> cd build # skip if you are already in build/
> cmake .. 
...
> cmake --build . && ./bin/discord 

Создайте нашего Discord-бота

Получите токен бота Discord

Давайте откроем Discord и создадим сервер Discord (щелкните значок + в левом меню). Здесь мы добавляем сервер с именем Discord Bot Test, куда мы будем приглашать нашего бота.

Следующая процедура — включить Режим разработчика в настройках. Выберите Настройки пользователя > Дополнительно > Режим разработчика.

Это все для Discord; давайте направимся на Портал разработчиков Discord. На странице приложений нажмите кнопку Новое приложение в правом верхнем углу.

Примечание: НЕ используйте「discord」в названии, иначе позже вы не сможете создавать ботов.

Затем вы будете перенаправлены в настройки приложения. Выберите Бот в меню слева и нажмите кнопку Add Bot справа!

Наш бот создан! Чтобы пригласить (авторизовать) нашего бота на серверы, перейдите OAuth2 › Генератор URL › нажмите bot в областях › нажмите Send Messages, Manage Messages, Embed Links и Attach files.

Нажмите Copy кнопку в конце!

Примечание. Этих четырех разрешений должно быть достаточно. При необходимости вы всегда можете вернуться и изменить разрешения!

Откройте скопированный URL в другом окне и выберите подходящий сервер! Магия! Наш бот приглашен на наш сервер!

Закодируйте наш класс ботов Discord

Не забудьте получить наш токен бота на портале разработчиков! Вернитесь на страницу бота и нажмите кнопку copy

  • Давайте поместим наш токен в main.cpp.
  • Реализуйте свой класс бота
  • Создайте (создайте экземпляр) и запустите своего бота в основной функции

Примечание. Мы не должны помещать секреты (например, токены, пароли и т. д.) в исходный код, поскольку это может привести к случайной утечке конфиденциальной информации (например, отправке файлов на GitHub).

Результат

Давайте строить, запускать, скажем привет нашему боту-помощнику в Discord! Наш бот онлайн, и он отвечает, когда мы говорим !hey.

Резюме

  • Как установить все необходимые пакеты
  • Как настроить/настроить параметры в Discord и на портале разработчиков
  • Закодируйте бота, чтобы сказать привет и протестировать!

Мы рассказали, как начинали с нуля, пока наш бот не поприветствовал нас! Бот в настоящее время не выгоден! В следующих статьях мы сделаем бота более способным!

Отказ от ответственности: я не считаю себя профессиональным разработчиком C++! Своего рода записи моего обучения!