Skip to content

tsoding/Gatekeeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

244 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gatekeeper

logo

The chat bot Zozin does not want you to know about.

Quick Start

Gatekeeper

Gatekeeper is the bot process itself.

$ go build ./cmd/gatekeeper/
$ ./gatekeeper

Gaslighter

Gaslighter is the bot configuration command line tool which works by connecting to the bot's database and modifying it.

$ go build ./cmd/gaslighter/
$ ./gaslighter

Environment Variables

Name Description
GATEKEEPER_DISCORD_TOKEN Discord token https://discord.com/developers/docs/topics/oauth2
GATEKEEPER_PGSQL_CONNECTION PostgreSQL connection URL https://www.postgresql.org/docs/current/libpq-connect.html#id-1.7.3.8.3.6
GATEKEEPER_TWITCH_IRC_NICK Twitch Login
GATEKEEPER_TWITCH_IRC_PASS Twitch Password https://twitchapps.com/tmi/
GATEKEEPER_SOWON2_HTTP_ADDRESS Address for the Sowon2 HTTP control to listen to. Format is <ip>:<port>.

Sowon2 Control

When GATEKEEPER_SOWON2_HTTP_ADDRESS is provided the bot starts up REST API on that address and port over plain HTTP (no HTTPS). It is intended to be used in conjunction with Sowon2 to make the bot report currently playing songs. Sowon2 is a second iteration of the Sowon timer which also integrate a music player. The source code and the binaries of Sowon2 are not publically available as of right now to avoid additional maintenance burden.

REST API

POST /song

Makes the bot send out a notification in the Twitch chat about a currently playing song.

Field name Description
artist The artist of the song (duh)
title The title of the song (duh)
link The link to the song on the Internet

Security Considerations

Only plain HTTP without any authentication is supported. Because of that it is highly advised to set the address of GATEKEEPER_SOWON2_HTTP_ADDRESS to 127.0.0.1:<port> and connect to it via an SSH tunnel if the bot is hosted on a remote machine.

Quick Start via SSH tunnel

Make sure GATEKEEPER_SOWON2_HTTP_ADDRESS is set to 127.0.0.1:8080 on your remotemachine host.

Establish the SSH tunnel:

$ ssh user@remotemachine -N -L 8080:127.0.0.1:8080

Send out the notification:

$ curl -X POST -d "artist=Rick Astley&title=Never Gonna Give You Up&link=https://www.youtube.com/watch?v=dQw4w9WgXcQ" http://127.0.0.1:8080/song

About

The chat bot Zozin does not want you to know about.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors