lph/src/main.c

44 lines
1.5 KiB
C

#include <string.h>
#include <concord/discord.h>
#include <concord/log.h>
#include <sqlite3.h>
#include <stdlib.h>
sqlite3* db;
void on_ready(struct discord *client, const struct discord_ready *msg) {
log_info("Logged in as %s!", msg->user->username);
}
void on_message(struct discord *client, const struct discord_message *msg) {
if(msg->type == DISCORD_MESSAGE_REPLY && msg->content != NULL) {
char* error;
if(sqlite3_exec(db, sqlite3_mprintf(
"INSERT INTO messages(message, reply)"
"VALUES('%q', '%q')",
msg->referenced_message->content, msg->content),
NULL, NULL, &error)) {
log_error(error);
}
}
}
int main(void) {
sqlite3_open("messages.db", &db);
char* error;
if(sqlite3_exec(db,
"CREATE TABLE IF NOT EXISTS messages("
"id INTEGER PRIMARY KEY AUTOINCREMENT,"
"message TEXT NOT NULL,"
"reply TEXT NOT NULL"
");", NULL, NULL, &error)) {
log_error(error);
}
struct discord *client = discord_config_init("config.json");
discord_add_intents(client, DISCORD_GATEWAY_MESSAGE_CONTENT);
discord_set_on_ready(client, &on_ready);
discord_set_on_message_create(client, &on_message);
discord_run(client);
}