Git Product home page Git Product logo

gempbot-node's People

Contributors

dpasch avatar finalight avatar gempir avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gempbot-node's Issues

move logs

Logs should probably be not part of the standard bot anymore.
I want to move them over to a go application and my bot will be able to query data over an api

Save all twitch/bttv emotes inside redis

Currently everytime the bot restarts it has to make several big http requests. Redis should act has a cache of these emotes and then the bot itself caches from redis once it starts.

Only make make http requests every few hours or on command.

Remove globalcooldown

There is no need for globalcooldown anymore maybe add a per user cooldown otherwise just remove it.

Maybe consider monitoring the total output of the bot and make sure to not go over 100 messages / 30 secs

removing tmi.js

Tmi.js was nice but relaybroker is its replacement. Everything is already handled over relaybroker now, tmi.js can be removed

Alias

Alias for commands would be great, but they need to be persistent so that f.e. when you edit an alias you edit the originial command etc.

It coud look like this:

!alias add myAlias myCommand

Timeout Manager

The timeout manager will manage simple timeouts like for spam.

This will happen in 3 stages.

  • first offense 10s
  • second offense 30s
  • third offense 90s

The next stage will trigger if a user gets flagged a second time in the last 300 seconds.

8Ball

New command !8ball or something fitting. Use !8ball <Question for 8ball>. Command will pull a random quote from a random viewers logs as a respond for the question asked. Example, -Billy123: Will Forsen ever be lucky? -Gempbot: "Random quote" or -Gempbot: "-Billy123: Will Forsen ever be lucky?" "Random quote"

Improve banphrases

Banphrases seem to be slightly bugged.

And not timing out users. tested by directly adding a banphrase and the user only saying that phrase.

Split logs into months and years

Splittings logs into months and years would make a lot of stuff a lot more perfomant and it will scale better in the future.

the structure could me like this

logs/gempir/2016/january/gempir.txt

maybe I can offer an API for it then aswell, because the files won't be as big.

IRC buffer/parser

  • use .createStream() from irc-message
net.connect(6667, 'irc.freenode.net')
    .pipe(ircMsg.createStream())
    .on('data', function(message) {
        console.log(message)
    })
  • setNoDelay is for disabling TCP buffering meaning more packets will be sent

Timer for chatters

Add a simple timer like !timer 600 Pizza so people can be reminded by it.

ES6 Rewrite

  • use regex for message parsing
  • get rid of cluttered chat.js and create a real message Handler and parser etc.

Tests

At this scale TDD would probably be wiser, but first the existing code needs to be tested.

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.