A Discord bot which posts official news relating to Playstation.
gmlyth / playstationbot Goto Github PK
View Code? Open in Web Editor NEWA Discord bot which posts official news relating to Playstation.
A Discord bot which posts official news relating to Playstation.
See above.
After creating a working Docker version, get Docker container running on ECS.
After gathering the post link, go to the post and get the title, tags, published date, and modified date. Keep this in the item, and store it on dynamodb.
See below example. NOTE: if there are multiple tags, it just appears an an additional element.
| | |Case in point the podcast episode 434 post. Not sure what's going on there.
Allow users to toggle subscriptions to tags with /subscribetag TAGNAME.
Also allow users to do /listtagssubscribed.
THis will be saved in DynamoDb - user_id as partition, tag_name as range, guild_id as additional attribute.
When PS+ monthly games are posted have the bot post links to the PSN store page for each game.
Month for hash key, Publish Date for range. Also include blog link, tags, title.
-For each post read, save the tag (and date seen) to dynamodb.
-If a tag has already been seen, but a published date is newer than its seen date, update the tag.
-Preload tags from dynamodb.
-Add a slash command to list tags. This will send an @ to the user who requested it.
Currently the cache is a HashMap. This allows O(1) lookup to check for an existing post in memory. That's great! What's not great is, if we want to expire old blog posts. I see no reason to keep more than 100 in memory, to help keep the memory requirements down.
Create a cache data structure that has both a LinkedList and a HashMap. Inserting will potentially be O(n) (but this is HIGHLY unlikely) because it will search for the best place to put a record, but it will almost always be going on the end of the list.
After performing an insert, if the size of the cache is over 100, the item from the beginning of the list (which will be the oldest) will be removed.
Get running in Docker container.
Tags sometimes are capitalized. Do a data cleanup to lower existing tags, then make sure any parsed from blog posts will be lowered.
Create dynamodb table to hold guild settings. For now it will just hold the name of the channel to post links in as well as an array of emojis to randomly use.
Limit to administrators. Save to DynamoDB.
Read the last 100 blog posts from dynamo db. remove anything above 100 items.
Save ID, link url, and published date.
Currently I have to manually change lines of code for whether to use default credential provider, environment variables, or ECS container creds - and the last one doesn't even work! There has to be a way to set the credential chain to be used without needing manual hard coding. This isn't necessary in boto3, so I'm sure there's some solution to it in java.
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.