Giter VIP home page Giter VIP logo

s.c.s.i.'s Introduction

s.c.s.i.'s People

Contributors

astapa avatar jellopudding avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

s.c.s.i.'s Issues

Check time without needing a message to be sent

Find a way to Check time without needing a message.
Possible Solution:

  • Store time stamped commands/actions in a JSON file
  • Create a new thread or process to check each command/action (maybe not every tick)
  • Run command/action when time stamp is reached
  • Remove command/action from JSON file

Command permissions

Permit users with a specific role to execute a command.
Basic solution:

  • Save command permissions in a JSON file or hard code permission
  • Check users role
  • Run command or return "Insufficient permissions"

Clean up

Spaghetti gets messy, lets not go to far with keeping it this way.

Keep state between shutdowns

We want to be able to save settings and other things that were modified while the bot was running, so that when it boots back up, it returns to the same state as the one it was shut down in.

cleanup poll system

current format for ending polls looks bad, let's clean it up to be more user friendly

Fix the wiki

The wiki disagrees with reality, particularly on versioning and branch structure. The problem might be with reality, and not the wiki. Or maybe not. Either way, we should probably fix it.

ping conditions

implement a way to restrict or trigger pings from S.C.S.I. based on server activity/state (i.e. ping me when X is online, do not ping me from X to Y o'clock)

tick unit problems

Because a tick is variable and because its nature being quite small, ticks are unreliable for use. If some one want to set a poll that ends in a day the amount of ticks would be ridiculous. And if someone set a tick to represent a time different from another, one may input the incorrect amount of ticks for a desired among of time. I suggest using system to input the desired time, be it elapsed or time until, and have it calculate the amount of ticks; this would however, render !timeto obsolete.

Using quotation marks in command arguments

By using quotation marks we can make it easier for users to separate arguments. Commands like !poll and !echo can benefit from this.
E.g. !echo 3 + 6 would output 9 where as !echo "3 + 6" would output 3 + 6

Subcommands

by notating commands with @bot.group we can easily note subcommands with @bot.command

Poll system

Create a poll system to streamline voting
Basic Solution:

  • Create a new poll in a vote/poll channel (or in a temp/inactive channel)
  • Track votes according to poll settings (1 vote each user, Yes, No, Abstain by default)
  • Tally votes, enact according to vote result and settings
  • Log poll and actions to admin/poll log

Link, Image, and File database

relates to #9
should generate a json file with things like filename, poster, comment (text posted with), time/date, and link (to source).

Temporary channels

Create commands to add a Temporary channel.
Basic solution:

  • Add channel
  • Add a poll create command for one hour later that lasts a day (by default)
  • Make channel permanent/protected if vote passes, archive and delete if vote fails

Auto announcer

Have S.C.S.I. automatically announce channel creation/removal, user promotion, S.C.S.I. updates, events, etc

Compatibility

Discord.py 0.10.0 will happen eventually. We need to ensure scuzzy is compatible with it, or at least that it won't break everything.

README.md

links, installation, maintenance, etc.

Logging

None of the commands log anything. Should we fix that? Probably.

Multiple server management

There are a lot of things that will not work on multiple servers. Examples include: BOTMIN role, findChannel(), poll channel, among other things.

Accessing backups

Scuzzy saves the backups to the local file system. So whoever initiated the backup will most likely have no way of accessing said backup. That may or may not be a slight problem.

?????

Ok, now how the HECK do you use this? @onionsans

Events are broken

The solution to the multiple server problem broke all the events, and probably some other things as well.

`async def ...` syntax error

while attempting to resurrect S.C.S.I. executing the main file returns this:

/usr/bin/python3.4 /XXX/S.C.S.I./main.py
  File "/XXX/S.C.S.I./main.py", line 93
    async def timer():
        ^
SyntaxError: invalid syntax

I am currently looking into this

Mentions

Mentions do not work properly. The person mentioned doesn't get notified about it.

Code Style

"Sometimes, I can't help but think that I'm not that good. But whenever I look at S.C.S.I's code, it reminds me... that I'm even worse."

The code is a bit of a mess. Or a lot of a mess. Most of it is probably lack of comments. Some of it is undoubtedly comes from the fact that the code is written by 2 people with different ideas about how the code should look. The rest is probably because of said people not taking the time to make their code look exactly as they want it to.

We should probably work on some of that.

Auto-remove inactave channels

Remove channels that are inactive for a preset amount of time
Basic Solution:

  • Create a poll to remove the channel in question
  • Protect channel if vote fails, archive and delete if vote passes

Admin logger

Automatically log admin actions in an admin log

!help command

displays all commands and their syntax, etc.
should not be hard coded into the help function

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.