Update README

This commit is contained in:
Christopher Cookman 2024-10-28 23:25:17 -06:00
parent 7de2b439b1
commit a8b4bab617
2 changed files with 29 additions and 1 deletions

5
.env.example Normal file
View file

@ -0,0 +1,5 @@
DISCORD_WEBHOOK_URL =
DATABASE_USER = statsBot
DATABASE_PASSWORD = statsBot
DATABASE_HOST = 127.0.0.1
DATABASE_NAME = asteriskcdrdb

View file

@ -2,3 +2,26 @@
Simple bit of code to run via crontab that tracks call stats and sends them to Discord
Original code by ChatGPT and CaptainChris, thanks for the idea and base to work off!
## MySQL Setup
In this example we're going to assume you want to run the code on the PBX itself.
In order for our script to access the call logs, we need to make a user on the SQL server.
- While logged in as `root` on your PBX, run `mysql -u root` to get to an SQL shell.
- Create the user with `CREATE USER 'statsBot'@'127.0.0.1' IDENTIFIED BY 'statsBot';`. The `@'127.0.0.1'` will make it only allow logins from the local machine.
- If you need the code to run on a remote machine (not your PBX), change that to the IP of the remote machine.
- Next, we need to grant `SELECT` perms for our user with `GRANT SELECT ON asteriskcdrdb.cdr TO 'statsBot'@'127.0.0.1';`
At this point you can type `EXIT;` to exit the SQL prompt.
## Configuring with `.env`
Configuring the script is really simple, just copy `.env.example` to `.env`, open it up, and set the values you need to change.
For anybody that's running this on their PBX directly, and used the above SQL setup, you just need to set a webhook URL!
Otherwise, you probably know how to configure it the way you need.
## Automatic running
For LiteNet, we're using `crontab` to run this every day at midnight.
That looks a little something like this:
`0 0 * * * cd /root/freepbx-stats/ && /usr/bin/node .`
You can edit the crontab with `crontab -e`