bobbadillio / bottrosian Goto Github PK
View Code? Open in Web Editor NEWThis project forked from deserializer/discord-bot-heroku
Starter kit for hosting a Discord bot on Heroku
This project forked from deserializer/discord-bot-heroku
Starter kit for hosting a Discord bot on Heroku
There should be a doc detailing how the bot is set up (source location, Heroku settings, etc.) so if all the devs disappear it's straightforward to get it up and running again.
When I tried to link my lichess account, the belt check correctly failed because I didn't have a stable classical rating, but it should be still be linked in my profile. Instead, my !profile
results include lichess username: None
. Presumably the same is true for chess.com.
BotTrosian needs to remember who users in discord are, and know when they've linked chess.com or lichess.org accounts.
Database needs to be able to store:
Authenticated Users
Lichess Data
Chess.com Data
Note: I have no idea how to do database migrations in Heroku Postgres, and there's a chance I'll have to do some database stuff by hand if this needs to be updated later.
If I want to get fancy at some point, I can probably enforce in the database that a DiscordID in the authenticated user list has at least one of lichess data, chess.com, and I can definitely enforce with this schema that if a DiscordID is deleted (which is not currently supported or roadmapped functionality) it will delete the linked profiles in a cascading way.
Making usernames a primary key ensures that two users don't grab the same profile somehow. This might not be necessary, so maybe I shouldn't enforce this.
SMALLINT supports ELOs well above 3600 which isn't really a human elo.
Storing data in site-specific tables will make it easier to add database support for other sites later if desired. This also makes daily updates pretty easy, since we'll just need to update all the data in the two site-specific tables, and then update all the belts in authenticated users.
Discord or discord.py appear to have some concept of "guild", and those might be relevant to this bot's effective operation. I should learn what these are!
The comparison of the chess.com location / lichess bio field with the Discord ID should be case-insensitive.
Given a discord message with a FEN such as:
r1bqkbnr/pp1ppppp/2n5/2p5/4P3/5N2/PPPPKPPP/RNBQ1B1R b kq - 3 3
bottrosian should be able to generate a png and post it in the linked discord
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.