From f78c7cf82726324fcee6b738e3d670bee02ad3ff Mon Sep 17 00:00:00 2001 From: Cara Salter Date: Tue, 21 Nov 2023 16:10:08 -0500 Subject: autotools no more cmake! --- .gitignore | 63 ++++++++++++++++++++++++++++++++ CMakeLists.txt | 48 ------------------------- Makefile.am | 5 +++ cmake/FindPCRE.cmake | 37 ------------------- cmake/Findcpr.cmake | 14 -------- cmake/Findcurl.cmake | 14 -------- cmake/Finddpp.cmake | 14 -------- cmake/Findsentry.cmake | 14 -------- cmake/Findspdlog.cmake | 14 -------- cmake/dpp-config.cmake | 21 ----------- configure.ac | 23 ++++++++++++ modules/Makefile.am | 23 ++++++++++++ modules/stoplight/main.cpp | 80 ----------------------------------------- modules/stoplight/stoplight.cpp | 80 +++++++++++++++++++++++++++++++++++++++++ src/142bot_config.h.in | 63 ++++++++++++++++++++++++++++++++ src/bot.cpp | 2 +- src/main.cpp | 8 +++-- 17 files changed, 264 insertions(+), 259 deletions(-) delete mode 100644 CMakeLists.txt create mode 100644 Makefile.am delete mode 100644 cmake/FindPCRE.cmake delete mode 100644 cmake/Findcpr.cmake delete mode 100644 cmake/Findcurl.cmake delete mode 100644 cmake/Finddpp.cmake delete mode 100644 cmake/Findsentry.cmake delete mode 100644 cmake/Findspdlog.cmake delete mode 100644 cmake/dpp-config.cmake create mode 100644 configure.ac create mode 100644 modules/Makefile.am delete mode 100644 modules/stoplight/main.cpp create mode 100644 modules/stoplight/stoplight.cpp create mode 100644 src/142bot_config.h.in diff --git a/.gitignore b/.gitignore index 606405f..55bdfdb 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,66 @@ config.json .cache/ .sentry-native *.log +# Created by https://www.toptal.com/developers/gitignore/api/autotools +# Edit at https://www.toptal.com/developers/gitignore?templates=autotools + +### Autotools ### +# http://www.gnu.org/software/automake + +Makefile.in +/ar-lib +/mdate-sh +/py-compile +/test-driver +/ylwrap +.deps/ +.dirstamp + +# http://www.gnu.org/software/autoconf + +autom4te.cache +/autoscan.log +/autoscan-*.log +/aclocal.m4 +/compile +/config.cache +/config.guess +**/config.h.in +/config.log +/config.status +/config.sub +/configure +/configure.scan +/depcomp +/install-sh +/missing +/stamp-h1 + +# https://www.gnu.org/software/libtool/ + +/ltmain.sh + +# http://www.gnu.org/software/texinfo + +/texinfo.tex + +# http://www.gnu.org/software/m4/ + +m4/libtool.m4 +m4/ltoptions.m4 +m4/ltsugar.m4 +m4/ltversion.m4 +m4/lt~obsolete.m4 + +# Generated Makefile +# (meta build system like autotools, +# can automatically generate from config.status script +# (which is called by configure script)) +Makefile + +### Autotools Patch ### + +# End of https://www.toptal.com/developers/gitignore/api/autotools + +include/config.h +**/stamp-h1 diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 1192b50..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(onefortytwobot VERSION 0.6 LANGUAGES CXX C) - -set(CMAKE_CXX_STANDARD 20 REQUIRED) -set(FETCHCONTENT_TRY_FIND_PACKAGE_MODE OPT_IN) - -list(APPEND CMAKE_MODULE_PATH - "${CMAKE_SOURCE_DIR}/cmake") - -find_package(spdlog REQUIRED) -find_package(dpp REQUIRED) -find_package(cpr REQUIRED) -find_package(sentry REQUIRED) -find_package(curl) - -include(cmake/FindPCRE.cmake) - -find_package(fmt) - -string(ASCII 27 Esc) - -find_library(PQXX_LIB pqxx) -find_library(PQ_LIB pq) - -# Define configuration file -configure_file(142bot.config.in 142bot_config.h) - -include(GNUInstallDirs) -aux_source_directory("src" coresrc) -add_executable(142bot ${coresrc}) - -include_directories("include" ${PROJECT_BINARY_DIR}) -target_link_libraries(142bot PRIVATE clog dpp fmt::fmt spdlog::spdlog pcre - cpr::cpr ${PQXX_LIB} ${PQ_LIB} sentry) - -install(TARGETS 142bot) - -set (modules_dir "modules") -file(GLOB subdirlist ${modules_dir}/*) -foreach (fullmodname ${subdirlist}) - get_filename_component(modname ${fullmodname} NAME) - message(STATUS "Found module '${Esc}[1;34mmodule_${modname}${Esc}[m'") - set (modsrc "") - aux_source_directory(${modules_dir}/${modname} modsrc) - add_library(module_${modname} SHARED ${modsrc}) - target_link_libraries(module_${modname} dpp cpr sentry) - set_target_properties(module_${modname} PROPERTIES PREFIX "") -endforeach(fullmodname) diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..ac44b92 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,5 @@ +bin_PROGRAMS=142bot +142bot_SOURCES=src/bot.cpp src/db.cpp src/main.cpp src/modules.cpp src/util.cpp +142bot_CXXFLAGS = -I ./include -std=c++23 + +SUBDIRS = . modules diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake deleted file mode 100644 index d6a77a5..0000000 --- a/cmake/FindPCRE.cmake +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright (C) 2007-2009 LuaDist. -# Created by Peter Kapec -# Redistribution and use of this file is allowed according to the terms of the MIT license. -# For details see the COPYRIGHT file distributed with LuaDist. -# Note: -# Searching headers and libraries is very simple and is NOT as powerful as scripts -# distributed with CMake, because LuaDist defines directories to search for. -# Everyone is encouraged to contact the author with improvements. Maybe this file -# becomes part of CMake distribution sometimes. - -# - Find pcre -# Find the native PCRE headers and libraries. -# -# PCRE_INCLUDE_DIRS - where to find pcre.h, etc. -# PCRE_LIBRARIES - List of libraries when using pcre. -# PCRE_FOUND - True if pcre found. - -# Look for the header file. -FIND_PATH(PCRE_INCLUDE_DIR NAMES pcre.h) - -# Look for the library. -FIND_LIBRARY(PCRE_LIBRARY NAMES pcre) - -# Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE. -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG PCRE_LIBRARY PCRE_INCLUDE_DIR) - -# Copy the results to the output variables. -IF(PCRE_FOUND) - SET(PCRE_LIBRARIES ${PCRE_LIBRARY}) - SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR}) -ELSE(PCRE_FOUND) - SET(PCRE_LIBRARIES) - SET(PCRE_INCLUDE_DIRS) -ENDIF(PCRE_FOUND) - -MARK_AS_ADVANCED(PCRE_INCLUDE_DIRS PCRE_LIBRARIES) \ No newline at end of file diff --git a/cmake/Findcpr.cmake b/cmake/Findcpr.cmake deleted file mode 100644 index a8aed9d..0000000 --- a/cmake/Findcpr.cmake +++ /dev/null @@ -1,14 +0,0 @@ -include(FindPackageHandleStandardArgs) - -find_library(CPR_LIBRARY NAMES cpr) - -find_package_handle_standard_args(cpr REQUIRED_VARS CPR_LIBRARY) - -if (CPR_FOUND) - mark_as_advanced(CPR_LIBRARY) -endif() - -if(CPR_FOUND AND NOT TARGET cpr::cpr) - add_library(cpr::cpr IMPORTED UNKNOWN) - set_property(TARGET cpr::cpr PROPERTY IMPORTED_LOCATION ${CPR_LIBRARY}) -endif() \ No newline at end of file diff --git a/cmake/Findcurl.cmake b/cmake/Findcurl.cmake deleted file mode 100644 index 3ad12ea..0000000 --- a/cmake/Findcurl.cmake +++ /dev/null @@ -1,14 +0,0 @@ -include(FindPackageHandleStandardArgs) - -find_library(CURL_LIBRARY NAMES curl) - -find_package_handle_standard_args(curl REQUIRED_VARS CURL_LIBRARY) - -if (CURL_FOUND) - mark_as_advanced(CURL_LIBRARY) -endif() - -if(CURL_FOUND AND NOT TARGET curl::curl) - add_library(CURL::libcurl IMPORTED UNKNOWN) - set_property(TARGET CURL::libcurl PROPERTY IMPORTED_LOCATION ${CURL_LIBRARY}) -endif() \ No newline at end of file diff --git a/cmake/Finddpp.cmake b/cmake/Finddpp.cmake deleted file mode 100644 index 92933b8..0000000 --- a/cmake/Finddpp.cmake +++ /dev/null @@ -1,14 +0,0 @@ -include(FindPackageHandleStandardArgs) - -find_library(DPP_LIBRARY NAMES dpp) - -find_package_handle_standard_args(dpp REQUIRED_VARS DPP_LIBRARY) - -if (DPP_FOUND) - mark_as_advanced(DPP_LIBRARY) -endif() - -if(DPP_FOUND AND NOT TARGET dpp::dpp) - add_library(dpp::dpp IMPORTED UNKNOWN) - set_property(TARGET dpp::dpp PROPERTY IMPORTED_LOCATION ${DPP_LIBRARY}) -endif() \ No newline at end of file diff --git a/cmake/Findsentry.cmake b/cmake/Findsentry.cmake deleted file mode 100644 index 3c2b225..0000000 --- a/cmake/Findsentry.cmake +++ /dev/null @@ -1,14 +0,0 @@ -include(FindPackageHandleStandardArgs) - -find_library(SENTRY_LIBRARY NAMES sentry) - -find_package_handle_standard_args(sentry REQUIRED_VARS SENTRY_LIBRARY) - -if (SENTRY_FOUND) - mark_as_advanced(SENTRY_LIBRARY) -endif() - -if(SENTRY_FOUND AND NOT TARGET sentry::sentry) - add_library(sentry::sentry IMPORTED UNKNOWN) - set_property(TARGET sentry::sentry PROPERTY IMPORTED_LOCATION ${SENTRY_LIBRARY}) -endif() \ No newline at end of file diff --git a/cmake/Findspdlog.cmake b/cmake/Findspdlog.cmake deleted file mode 100644 index e286724..0000000 --- a/cmake/Findspdlog.cmake +++ /dev/null @@ -1,14 +0,0 @@ -include(FindPackageHandleStandardArgs) - -find_library(SPDLOG_LIBRARY NAMES spdlog) - -find_package_handle_standard_args(spdlog REQUIRED_VARS SPDLOG_LIBRARY) - -if (SPDLOG_FOUND) - mark_as_advanced(SPDLOG_LIBRARY) -endif() - -if(SPDLOG_FOUND AND NOT TARGET spdlog::spdlog) - add_library(spdlog::spdlog IMPORTED UNKNOWN) - set_property(TARGET spdlog::spdlog PROPERTY IMPORTED_LOCATION ${SPDLOG_LIBRARY}) -endif() \ No newline at end of file diff --git a/cmake/dpp-config.cmake b/cmake/dpp-config.cmake deleted file mode 100644 index dedc62e..0000000 --- a/cmake/dpp-config.cmake +++ /dev/null @@ -1,21 +0,0 @@ -# dpp-config.cmake - package configuration file - -## Get current filesystem path (will a prefixed by where this package was installed) -get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) - -## Use this directory to include dpp which has the rest of the project targets -include(${SELF_DIR}/dpp.cmake) - -## Set OpenSSl directory for macos. It is also in our main CMakeLists.txt, but this file is independent from that. -if(APPLE) - if(CMAKE_APPLE_SILICON_PROCESSOR) - set(OPENSSL_ROOT_DIR "/opt/homebrew/opt/openssl") - else() - set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl") - endif() - find_package(OpenSSL REQUIRED) -endif() - -# Search for libdpp dependencies -include(CMakeFindDependencyMacro) -find_dependency(OpenSSL REQUIRED) diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..998b215 --- /dev/null +++ b/configure.ac @@ -0,0 +1,23 @@ +AC_INIT([142bot], [0.5]) +AM_INIT_AUTOMAKE([-Wall -Werror foreign] subdir-objects) +AC_PROG_CXX +AM_PROG_AR + +LT_INIT([dlopen]) + +AC_SEARCH_LIBS([_ZTVN3dpp3banE], [dpp], [], [AC_MSG_ERROR([unable to find dpp])]) +AC_SEARCH_LIBS([sentry_init], [sentry], [], [AC_MSG_ERROR([unable to find sentry])]) +AC_SEARCH_LIBS([_ZN3cpr8ResponseC1EOS0_], [cpr], [], [AC_MSG_ERROR([unable to find cpr])]) +AC_SEARCH_LIBS([curl_global_init], [curl], [], [AC_MSG_ERROR([unable to find curl])]) +AC_SEARCH_LIBS([_ZTVN6spdlog6loggerE], [spdlog], [], [AC_MSG_ERROR([unable to find spdlog])]) +AC_SEARCH_LIBS([_ZN4pqxx10connectingC1ENS_5zviewE], [pqxx], [], [AC_MSG_ERROR([unable to find pqxx])]) +AC_SEARCH_LIBS([PQexec], [pq], [], [AC_MSG_ERROR([unable to find pq])]) +AC_SEARCH_LIBS([pcre_exec], [pcre], [], [AC_MSG_ERROR([unable to find pcre])]) +AC_SEARCH_LIBS([_ZN3fmt2v94file3dupEi], [fmt], [], [AC_MSG_ERROR([unable to find fmt])]) + +AC_CONFIG_HEADERS([src/142bot_config.h]) + +AC_CONFIG_FILES([ + Makefile + modules/Makefile]) +AC_OUTPUT diff --git a/modules/Makefile.am b/modules/Makefile.am new file mode 100644 index 0000000..edf8278 --- /dev/null +++ b/modules/Makefile.am @@ -0,0 +1,23 @@ +pkglib_LTLIBRARIES = module_mmanager.la module_spotify.la module_reactions.la module_mail.la module_stoplight.la + +module_mmanager_la_SOURCES = mmanager/mmanager.cpp +module_mmanager_la_LDFLAGS = -avoid-version -shared -export-dynamic -module +module_mmanager_la_CXXFLAGS = -I ../include + + +module_spotify_la_SOURCES = spotify/spotify.cpp +module_spotify_la_LDFLAGS = -avoid-version -shared -export-dynamic -module +module_spotify_la_CXXFLAGS = -I ../include + + +module_reactions_la_SOURCES = reactions/reactions.cpp +module_reactions_la_LDFLAGS = -avoid-version -shared -export-dynamic -module +module_reactions_la_CXXFLAGS = -I ../include + +module_mail_la_SOURCES = mail/mail.cpp +module_mail_la_LDFLAGS = -avoid-version -shared -export-dynamic -module +module_mail_la_CXXFLAGS = -I ../include + +module_stoplight_la_SOURCES = stoplight/stoplight.cpp +module_stoplight_la_LDFLAGS = -avoid-version -shared -export-dynamic -module +module_stoplight_la_CXXFLAGS = -I ../include diff --git a/modules/stoplight/main.cpp b/modules/stoplight/main.cpp deleted file mode 100644 index 8740a12..0000000 --- a/modules/stoplight/main.cpp +++ /dev/null @@ -1,80 +0,0 @@ -#include <142bot/modules.hpp> -#include <142bot/util.hpp> -#include -#include -#include - -class StoplightModule: public Module { - std::string stoplightBaseUrl; - public: - StoplightModule(Bot* creator, ModuleLoader* ml): Module(creator,ml) { - ml->attach({I_OnSlashCommand}, this); - auto id = creator->cfg.value("application_id", ""); - dpp::slashcommand stoplight("stoplight", "Control the 142 stop light", creator->core->me.id); - stoplight.add_option( - /* Stop subcommand*/ - dpp::command_option(dpp::co_sub_command, "stop", "Stops the stoplight") - ); - stoplight.add_option( - /* start subcommand */ - dpp::command_option(dpp::co_sub_command, "start", "Starts the stoplight") - ); - stoplight.add_option( - /* shots */ - dpp::command_option(dpp::co_sub_command, "shots", "Triggers shots alarm subroutine") - .add_option(dpp::command_option(dpp::co_integer, "countdowntime", "Time to count down for", true)) - .add_option(dpp::command_option(dpp::co_integer, "gotime", "Time to shots for", true)) - ); - - // register command - creator->core->guild_command_create(stoplight, creator->cfg["main_guild"]); - creator->core->log(dpp::ll_info, "Registered stoplight"); - - this->stoplightBaseUrl = creator->cfg["stoplight_base"]; - - } - - virtual std::string version() { - return "0.1.0"; - } - - virtual std::string description() { - return "Stoplight control"; - } - - bool OnSlashCommand(const dpp::slashcommand_t &event) { - if (event.command.get_command_name() == "stoplight") { - dpp::command_interaction cmd_data = event.command.get_command_interaction(); - - auto subcommand = cmd_data.options[0]; - - this->bot->core->log(dpp::ll_debug, fmt::format("Got subcommand: {}", subcommand.name)); - - if (subcommand.name == "start") { - bot->core->log(dpp::ll_debug, "Attempting to start stoplight"); - cpr::Response r = cpr::Get(cpr::Url(fmt::format("{}/start", this->stoplightBaseUrl))); - - if (r.status_code != 200) { - bot->core->log(dpp::ll_error, r.text); - throw std::exception(); - } - event.reply(dpp::message("Started stoplight")); - - } else if (subcommand.name == "stop") { - bot->core->log(dpp::ll_debug, "Attempting to stop stoplight"); - cpr::Response r = cpr::Get(cpr::Url(fmt::format("{}/stop", this->stoplightBaseUrl))); - - if (r.status_code != 200) { - bot->core->log(dpp::ll_error, r.text); - throw std::exception(); - } - event.reply(dpp::message("Stopped stoplight")); - - } - } - return true; - } -}; - - -ENTRYPOINT(StoplightModule) \ No newline at end of file diff --git a/modules/stoplight/stoplight.cpp b/modules/stoplight/stoplight.cpp new file mode 100644 index 0000000..8740a12 --- /dev/null +++ b/modules/stoplight/stoplight.cpp @@ -0,0 +1,80 @@ +#include <142bot/modules.hpp> +#include <142bot/util.hpp> +#include +#include +#include + +class StoplightModule: public Module { + std::string stoplightBaseUrl; + public: + StoplightModule(Bot* creator, ModuleLoader* ml): Module(creator,ml) { + ml->attach({I_OnSlashCommand}, this); + auto id = creator->cfg.value("application_id", ""); + dpp::slashcommand stoplight("stoplight", "Control the 142 stop light", creator->core->me.id); + stoplight.add_option( + /* Stop subcommand*/ + dpp::command_option(dpp::co_sub_command, "stop", "Stops the stoplight") + ); + stoplight.add_option( + /* start subcommand */ + dpp::command_option(dpp::co_sub_command, "start", "Starts the stoplight") + ); + stoplight.add_option( + /* shots */ + dpp::command_option(dpp::co_sub_command, "shots", "Triggers shots alarm subroutine") + .add_option(dpp::command_option(dpp::co_integer, "countdowntime", "Time to count down for", true)) + .add_option(dpp::command_option(dpp::co_integer, "gotime", "Time to shots for", true)) + ); + + // register command + creator->core->guild_command_create(stoplight, creator->cfg["main_guild"]); + creator->core->log(dpp::ll_info, "Registered stoplight"); + + this->stoplightBaseUrl = creator->cfg["stoplight_base"]; + + } + + virtual std::string version() { + return "0.1.0"; + } + + virtual std::string description() { + return "Stoplight control"; + } + + bool OnSlashCommand(const dpp::slashcommand_t &event) { + if (event.command.get_command_name() == "stoplight") { + dpp::command_interaction cmd_data = event.command.get_command_interaction(); + + auto subcommand = cmd_data.options[0]; + + this->bot->core->log(dpp::ll_debug, fmt::format("Got subcommand: {}", subcommand.name)); + + if (subcommand.name == "start") { + bot->core->log(dpp::ll_debug, "Attempting to start stoplight"); + cpr::Response r = cpr::Get(cpr::Url(fmt::format("{}/start", this->stoplightBaseUrl))); + + if (r.status_code != 200) { + bot->core->log(dpp::ll_error, r.text); + throw std::exception(); + } + event.reply(dpp::message("Started stoplight")); + + } else if (subcommand.name == "stop") { + bot->core->log(dpp::ll_debug, "Attempting to stop stoplight"); + cpr::Response r = cpr::Get(cpr::Url(fmt::format("{}/stop", this->stoplightBaseUrl))); + + if (r.status_code != 200) { + bot->core->log(dpp::ll_error, r.text); + throw std::exception(); + } + event.reply(dpp::message("Stopped stoplight")); + + } + } + return true; + } +}; + + +ENTRYPOINT(StoplightModule) \ No newline at end of file diff --git a/src/142bot_config.h.in b/src/142bot_config.h.in new file mode 100644 index 0000000..035955f --- /dev/null +++ b/src/142bot_config.h.in @@ -0,0 +1,63 @@ +/* src/142bot_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/src/bot.cpp b/src/bot.cpp index d3bd6b7..35592a0 100644 --- a/src/bot.cpp +++ b/src/bot.cpp @@ -352,4 +352,4 @@ void Bot::onSlashCommand(const dpp::slashcommand_t &event) { void Bot::onFormSubmit(const dpp::form_submit_t &event) { FOREACH_MOD(I_OnFormSubmit, OnFormSubmit(event)); -} \ No newline at end of file +} diff --git a/src/main.cpp b/src/main.cpp index 6ce5858..b22460c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,13 +1,16 @@ +#include #include #include #include <142bot/bot.hpp> #include <142bot/db.hpp> +#include #include #include #include #include #include +#include #include @@ -23,15 +26,16 @@ int main(int argc, char const *argv[]) { std::ifstream f("config.json"); json cfg = json::parse(f); + curl_global_init(CURL_GLOBAL_ALL); string token = cfg.value("token", "bad-token"); sentry_options_t *options = sentry_options_new(); sentry_options_set_dsn(options, cfg.value("sentry_dsn", "").c_str()); // This is also the default-path. For further information and recommendations: // https://docs.sentry.io/platforms/native/configuration/options/#database-path sentry_options_set_database_path(options, ".sentry-native"); - sentry_options_set_release(options, "142bot@" + onefortytwobot_VERSION_MAJOR + '.' + onefortytwobot_VERSION_MINOR); + sentry_options_set_release(options, fmt::format("142bot@{}", PACKAGE_VERSION).c_str()); sentry_options_set_debug(options, 0); - sentry_options_set_environment(options, onefortytwobot_env); + sentry_options_set_environment(options, "production"); sentry_options_set_symbolize_stacktraces(options, 1); sentry_init(options); dpp::cluster bot(token, dpp::intents::i_all_intents); -- cgit v1.2.3