I'm a Software Engineer in the greater Seattle area. The repositories on this page are my own side projects which are only infrequently maintained in my free time.
I like blinking LEDs, weird keyboards, and messing around with IOT stuff.
A bot for the CSS Discord Server, written in C# using Discord.Net.
Home Page: https://chris-johnston.me/CSSBot/
License: MIT License
I'm a Software Engineer in the greater Seattle area. The repositories on this page are my own side projects which are only infrequently maintained in my free time.
I like blinking LEDs, weird keyboards, and messing around with IOT stuff.
this info does not show in the audit log, and if we are careless it can screw up the whole role hier
Swapped the ID with the date. Oops. Should use $"" syntax instead of string.format.
Reminders can get spammy, add an option that omits the inclusion of @here
or @everyone
Add a command that replies back with an invite link command that users can use to invite the bot to their own servers.
Add a reminder system that reminds new arrivals to the server to check the #readme
channel, as well as change their nicknames to their actual names. Potentially also add a similar reminder to existing users who have neglected to change their names, or are engaging in behavior that is against server rules.
Should update the reminder service so that it no longer requires the "Manage Messages" permission to create things, and only allow server admins or reminder authors to close their reminders.
The counter system syntax is kinda clunky and hard to use. We should have a message handler that listens for messages. When a message contains a keyword being tracked by the counter, the counter is incremented.
This should replace the use of the ?c + countername
command.
Add a ?addto #channel ...
command for adding reminders to channels other than the current channel. Would be useful for populating announcements channel without spamming it.
https://github.com/Humanizr/Humanizer
Convert timespans and times from their raw output into a more readable format. This should be used mostly for the reminder service. Should also allow user input like '3d' -> 3.00:00:00 (3 days)
Should check and warn users if the date they enter is out of normal bounds, or already expired.
This poll system should be a yes/no question format, possibly using emojis to facilitate poll responses.
It would be great to be able to add/remove/update reminders through the use of a google calendar.
In addition, being able to host a public calendar that other could subscribe to would allow for notifications of events outside of CSSBot.
This would be a much larger project that would also require incorporating a google api. Would need to ensure that the connection token is kept secure.
Please include enough information in your issue report so that the contributors can understand the bug you found,
the feature you would like to request, etc.
Sort of like UB3R B0T does with message mimicry:
p1: hi
p2: hi
p3: hi
UB3R B0T: hi
Except now:
p1: ^
p2: ^^
p3: ^^^
CSS Bot: ^^^^
maybe???
Once back-end storage has been moved over to LiteDB (#16), it would be nice to migrate the bot over to a dockerfile for easier and more portable deployment. Would allow more rapid updates (less steps involved in the process).
Might make debugging and testing a bit more tricky, so need to determine if I can release using a dockerfile and a standalone .net core application as well.
Also would serve to be good learning exercise for Docker.
Would have to keep track of messages as they are created
Add the ability to watch a channel and delete all messages that are not "yo". Will need to have a command to register the channel by Id, or could just check the name.
Add a way to associate a specific channel with a GitHub repository. Should be able to use the syntax ##123
to link to issue/PR 123 of the linked repo, if it exists. Immediately gets posted in the channel.
Would need to store these associations in their own table in the database.
Should add the ability to ping only a specified role when a reminder has expired, instead of @here
or @everyone
. Might have to be able to add by ID.
A listing of all of the commands and their usages would be a good use of the Wiki. In addition, adding information that would help others contribute to the repo would be worth while also.
Need to have a command that anyone can use to "subscribe" to notifications for a given class.
How it (should) work:
Each channel should have a server role by the same name (#CSSXXX should have @CSSXXX).
This role should be mentionable by anyone. No special permissions should be given, it should be lowest on the list of server roles.
If any user uses the command (suppose ?addclass #CSSXXX
or ?addclass @CSSXXX
), the bot should add that role to their user. Same goes for removing as well.
It should not be possible for a user to gain access to roles they shouldn't be in (Admin-level stuff, personal roles, etc) by using this command.
Probably should assign the relationships between channels and roles in the database, and have some commands for setting this up. As well as ways for resetting this, like for each quarter.
Open to suggestions on how this should be implemented and designed. I'm not certain about the best way to do this.
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.