IRC bot and webapp running guessthesong.i2p for submitting AI generated images made from song lyrics and guessing what the song is http://guessthesong.i2p
 
 
 
Go to file
simp 9fb9f459a2 Bug fix: Download thread keeps dying every time the bot disconnects, stop using global to track if download thread is alive 2025-09-28 04:51:13 +00:00
data bug fixes: timer, download images function, generate song_id, css updates 2025-06-07 10:31:45 -04:00
i2p typo on i2cp.dontPublishLeaseSet option 2025-06-23 23:12:03 +00:00
static thumbnail creation bug, added badges to thumbnail overlay to compress some of the text 2025-06-21 05:18:04 -04:00
templates move background animation off the index and finished pages, using too much cpu and can't see it anyway 2025-06-22 01:29:04 -04:00
.gitignore Initial commit 2025-05-26 15:19:39 +00:00
LICENSE Initial commit 2025-05-26 15:19:39 +00:00
README.md instead of trying to use subprocess, we send a command to the i2music site through api to run the updateplaylists script to compress and add new songs. 2025-06-13 15:41:56 -04:00
app.py Bug fix: Download thread keeps dying every time the bot disconnects, stop using global to track if download thread is alive 2025-09-28 04:51:13 +00:00
config.txt instead of trying to use subprocess, we send a command to the i2music site through api to run the updateplaylists script to compress and add new songs. 2025-06-13 15:41:56 -04:00
game.py add endpoint to b32 2025-09-09 06:40:54 +00:00
requirements.txt added automatic image download and compression for webviewing from ardu's bot 2025-05-31 15:18:43 -04:00
wsgi.py initial commit 2025-05-26 11:59:31 -04:00

README.md

Guessthesong

IRC bot and webapp running guessthesong.i2p for submitting AI generated images made from song lyrics and guessing what the song is.

Bot can use either SAM or regular IRC proxy tunnel like 127.0.0.1:6668. For SAM enabled, hostname is the IRC address.

Finished songs will attempt to be grabbed using soundcloak instances in i2p.

git clone --config http.proxy=127.0.0.1:4444 http://git.simp.i2p/simp/guessthesong.git && cd guessthesong && python3 -m venv ./ && cd bin && source activate && cd .. && pip3 install -r requirements.txt

Settings

Most of the game related commands are changed in IRC with !admin

[proxy]
hostname = 127.0.0.1
port = 4444 #http proxy tunnel for downloading images and audio
timeout = 600 #timout for audio download
sc_instances = sc.maid.i2p, soundcloak.neonw.i2p

[i2music]
music_player_url = music.simp.i2p
playlist = Guessthesong
filetype_ = opus
playlist_directory = /path/i2music/static/playlists/Guessthesong
update_playlist_script = /path/i2music
i2music_hostname = 127.0.0.1
i2music_gunicorn_port = 5001
i2music_flask_port = 5002

[settings]
secret_key = <changeit> #for flask
instance_url = somewebsite.i2p #can be changed in irc
flask_port = 5000 #for debugging only
ah = <address helper>
sam = True #if True, enter hostname
gunicorn_port = 5060

[irc]
hostname = irc.simp.i2p #if SAM enabled enter the irc address, else use localhost
username = test
password = password
port = 6667
channel = #test
primary = nobody1
auth_users = nobody1, nobody2, nobody3
tr = ! #the trigger used for commands like !help

Bot commands

!help for list of commands, !help for what it does !admin help for list of admin commands

NGINX config

server {
	listen 5060;
	server_name somedomain.i2p;
	server_tokens off;
	if ($request_method !~ ^(GET)$ ) {
		return 444;
	}
	if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
		return 444;
	}
	location / {
		proxy_hide_header Server;
		proxy_pass http://unix:/path/to/guessthesong/	eepsite.sock;
	}
}