calledtoconstruct / lambdabot Goto Github PK
View Code? Open in Web Editor NEWThis project forked from lambdabot/lambdabot
A friendly IRC bot and apprentice coder, written in Haskell.
This project forked from lambdabot/lambdabot
A friendly IRC bot and apprentice coder, written in Haskell.
Let's start with the plugins we've added recently. Twitch plugin, Suggest plugin, Todo plugin, Hangman plugin.
Thoughts?
Someone initiates the game, they then say a word (can be an emoji), others try to match it, after some seconds, the initiator can send the next word, everyone tries to match, after X number of words, the game ends and people are rewarded based on their correct matches.
Currently, PRIVMSG is used within the channel, so it works differently than IRC, I believe.
Questions and answers need to be pre-configured, or whispered when that feature is available. Privileged user starts the game, others respond, those who guess correctly get points when initiator progresses to the next question.
Add ability to specify a channel override on a command such that adding :global :<name> to the end of the command keyword will cause that action to affect the State only for the specified scope if the plugin supports scoped commands.
Add ability to have super admin and channel specific admin roles.
Add ability to request info from viewers via whisper so that people who win contests and give-aways can provide a mailing address, etc
Create plugin that listens for a command with a URL that will query that URL and attempt to extract a summary of the content of the page.
We should have Travis run our tests when a pull request is made.
Depending on how the bot is built, the execution is different.
Since we intend on dramatically widening the scope of what lambda bot provides, should we rename our fork to something else?
Allow the admin to configure the following settings:
Add ability for a plugin to request a callback after a timeout or on an interval with the ability to end an interval using the return value of the callback
Given a Repl.it URL, return the source as text. ( for the time being, we'll just work with single-file repl.it ).
Possible Uses
Implement a game where the plugin wakes up and says that a random pokemon character appeared. Each person in chat that types ?pokemon-catch has the opportunity to catch the character. However, the longer from the time it appears, the less likely you are to catch it. After 30 seconds, the pokemon gets away (if not caught). The person that catches the pokemon gains points.
I will work on the solution described in #19 .
The PubSub api seems to provide this feature.
https://dev.twitch.tv/docs/pubsub/#receiving-messages
Build a knowledge base of semi structured data that can later be analyzed for machine learning purposes, etc
nix-shell in the lambdabot folder should immediately start an infinite loop of building and running the lambdabot (when it is shutdown, it will build and restart).
update readme.md in root folder to explain this usage.
For managing singer - songlists, programmer - task lists, gamer - requested behavior or challenges
Polish the hangman plugin so that it is completely playable in chat.
DUH
Would be good for dealing with lists and queues.
Create a plugin that allows a privileged user to start off a game (or auto-started on a timer) whereby chatters can form two or more teams that will battle for victory by spamming emoji in the chat. The bot should calculate the number and variety of emoji used by each team and each player. Points can be awarded to the winning team, and perhaps to the MVP of each team.
In the offline rc, add ability to fork a thread and have that thread wake up periodically to execute a maintenance function. For example, flush plugin state to disk.
Support:
request [queue name] [remove] value
request (promote | demote) [queue name] value
queue (pop | shuffle)
queue (create | delete | open | close) name [option list name]
option (create list | delete list) name
option (add | remove | disable | enable) name
For the request command, if only one queue exists, then the queue name is optional. The remove keyword is always optional, but items will always be added (see also, duplicate entries below) unless remove is specified.
Outstanding issue: how to handle duplicate entries? Perhaps the queue create
command can take an argument indicating whether duplicates are allowed?
nix-shell in root folder should create development environment with editor and plugins setup for Haskell with HIE, nix, and scripts to automate common processes (like calling cabal2nix when the cabal file changes).
Need to coordinate with countoren on #5
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.