Birthdaybot is a discord bot that keeps track of everyone's birthday! So you won't have to remember everything, and they even get a really cool role. Currently this needs to be self hosted for every server, but I'm planning on making a running version that'll work for multiple servers
git clone https://github.com/DankDumpster/birthday-bot/
cd ./birthday-bot
cargo build --release
mv /target/release/birthday-bot .
We need to configure the database, so we do that by running this sql in a postgres console
create schema birthdaybot;
create table birthdaybot.birthdays
(
user_id bigint not null
constraint birthdays_pk
primary key,
date date not null,
has_role boolean default false not null
);
alter table birthdaybot.birthdays
owner to noodles;
create unique index birthdays_user_id_uindex
on birthdaybot.birthdays (user_id);
Now we can run the build
./bithday-bot
This will generate a config.yml, fill that out. Once you've done that you can run it again and enjoy!
First we need to install the sqlx-cli
cargo install --version=0.1.0-beta.1 sqlx-cli --no-default-features --features postgres
Now we can run it, this will take some time as it needs to compile everything
cargo run
Now it will generate a config.yml for us, fill that out. If something else goes wrong for any reason you can create the config.yml manually with these values
---
token: ""
prefix: .
db_uri: "postgres://postgres:password@localhost/postgres"
role_id: 0
guild_id: 0
location: "./config.yml"
Now once that is done we can run it again and it should work now
cargo run
If you run into any issues please don't hesitate to open an issue