Git Product home page Git Product logo

gogbot's Introduction

gogbot โ€” GOG Twitch Channel Bot

This is a simple Python 3 written IRC bot for serving the needs of the #gogcom Twitch channel.

It's currently in very early stages of development, it supports:

  • basic connection, authentication and joining a Twitch channel
  • skeleton code structure that allows extending through subclassing for additional IRC command support and/or changing the behavior of commands already handled (ex. changing PRIVMSG behavior to support !bot commands)
  • support for configured runtime plugins (module) loading
  • various (game specific) TwitchPlays modules
  • quote saving and query, with automated current streamed game and date tagging
  • trivia game plugin

Installation

  • install Python 3
  • download this code in some directory
  • copy config.ini to config_private.ini and update it as necessary (you need at least to update the PASS value with a valid OAuth token for the configured NICK)
  • run the bot with a command like python3 main.py --config config_private.ini
  • for TwitchPlays functionality see the relevant documentation in the "docs" directory

gogbot's People

Contributors

d1zzy avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

gogbot's Issues

Option for streamers to easily create poll on strawpoll.me

Streamer plays an RPG and because she likes to include audience in chat in decissions, she asks them if her character should be a mage, a huntress, a barbarian or a janitor. The time she wait is about a minute to let viewers to post their choice.

There are few options how to do that - use MooBot voting system, use strawpoll.me - which have a nice user interface and it's supported by BTTV, or let people write what they want to chat and try to guess which word appeared in chat the most.

  • first option (moobot) I was told is not really easy to setup, and requires users to write in chat to /vote
  • second option (strawpoll.me) is the most user friendly, but it takes maybe around 30 seconds, set-up choices, check the settings, then post the link into chat
  • third option (chat-walling) is the most easy, as she can just wait for a minute and it's decided; easy for 2 vote options, harder with 3 and more vote options

What would be ideal is, if she can write a simple command like:
!create vote Mage, Huntress, Barbarian, Janitor
which would call strawpoll.me, fill out poll options, set settings, create the poll and post it's link into chat. Time it would take is only writing of the command, then she can wait for a minute, and check the votes.

Potential issues:

  • strawpoll.me (as I briefly checked) doesn't have an API supporting creation of poll in such a way

If method would be acting as a robot filling up and posting the page:

  • strawpoll.me supports more than 4 vote options, but input is required before the element is added to the DOM
  • strawpoll.me requires setting of the poll question, it's not possible to leave it empty or fill with spaces

Command format:
Need to choose suitable delimiters, so it's possible to include special characters like space as a text of the vote option and still make it easy for streamer. Obvious delimiter could be a comma (,) or semicolon (;) or other suitable character

  • take in account how easy is to type such character, ie. for me doing semicolon is just one touch of key next to alfanum 1 (tilda), but I don't know how easy is on other keyboard layouts...

Should we require streamer to make poll question?
!create vote Which job I should choose?, Mage, Huntress, Barbarian, Janitor

I think for 1 minute poll question is not that important, as streamer asks the question live. Also it prevents issues like how to determine where question text ends and where vote option text starts. The question text filled by bot might simply be "Choose:".

Might require some trimming and fool proof logic in cases like:
!create vote ,Mage , Huntress, Barbarian, Janitor,
!create, vote, Mage,Huntress, Barbarian Janitor - missing comma is streamer's error
!create vote "I'm OCD", "So this", "Must", "Be", "Perfect"
!create vote "I don't care", but, I, quote, "text with spaces", "just to be sure"
!create vote I,don't,care,about it,at all

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.