Giter Site home page Giter Site logo

chris-johnston / cssbot Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 8.0 510 KB

A bot for the CSS Discord Server, written in C# using Discord.Net.

Home Page: https://chris-johnston.me/CSSBot/

License: MIT License

C# 100.00%
discord discord-bot discord-net net-core

cssbot's Introduction

cssbot's People

Contributors

bpas247 avatar cforcomputer avatar chris-johnston avatar drew-loukusa avatar etcadinfinitum avatar tsampson92 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cssbot's Issues

Add a Reminder System for New Arrivals/Existing Users

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.

Make counter system work automatically in the background

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.

TODO Add Google Calendar (or other Calendar Service) Support for Reminders

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.

Increment `^` as message acknowledgements

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???

TODO Add Docker Support

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.

"yo" only channel

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 way to link to Issues or PRs in the chat using the numbers

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.

Needs Documentation

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.

TODO Implement "Class Subscription" System

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.