gempir / gempbot-node Goto Github PK
View Code? Open in Web Editor NEWnode bot for twitch
License: MIT License
node bot for twitch
License: MIT License
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
!countdown 10
and then count down
This is kinda difficult to achieve. My best idea would be a cross channel command like
!glogs nymn_hs gempir
Which would get the log file for gempir in #nymn_hs
currently all emotes are from a list via twitchemotes. The bot should see once a new ircv3 tag gets used and save the tag + the code in redis
the package.json file is growing and some packages are just not really essential
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.
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
When caching emotes sometimes emotes from different channels get cached into redis in the wrong channel
Currently the whole bot gets killed when reconnecting
in an interval of choice random facts should be output.
!fact add my fact text (add a fact to the bot)
!fact set 300 (meaning every 300 seconds)
Squiddy requested these facts:
http://www.squid-world.com/facts-about-squids/
Some commands shouldn't be used so much, so instead of changing the global cooldown give each command atleast a specific cooldown for now.
The oddshot module is broken recording oddshots multiple times sometimes.
The whole module needs to be reworked
Combos should never display links
Kappa
Tmi.js was nice but relaybroker is its replacement. Everything is already handled over relaybroker now, tmi.js can be removed
The end goal of the bot is multichannel support. So it's important that every command will work independently in the channels and will not interfere with eachother
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
The timeout manager will manage simple timeouts like for spam.
This will happen in 3 stages.
The next stage will trigger if a user gets flagged a second time in the last 300 seconds.
Minimum string length for quotes so it filters simple things MingLee
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"
Output: number of people who are in chat and have written something within the last x minutes.
(maybe 10 minutes?)
This has nothing to do with github, but I want a more automatic way of deploying.
Banphrases seem to be slightly bugged.
And not timing out users. tested by directly adding a banphrase and the user only saying that phrase.
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.
net.connect(6667, 'irc.freenode.net')
.pipe(ircMsg.createStream())
.on('data', function(message) {
console.log(message)
})
Add a simple timer like !timer 600 Pizza so people can be reminded by it.
channels are controlled over redis so when redis changes it also needs to update the bot sometime so so the bot can join channels without restarting
At this scale TDD would probably be wiser, but first the existing code needs to be tested.
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.