All Projects → dbaron → wgmeeting-github-ircbot

dbaron / wgmeeting-github-ircbot

Licence: MIT license
IRC bot to make github comments with relevant sections of Working Group Meeting IRC minutes. Running as @css-meeting-bot.

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to wgmeeting-github-ircbot

irc-bot
A simple and modular PHP IRC bot
Stars: ✭ 82 (+530.77%)
Mutual labels:  irc-bot
TwitchPy
This is a package you can use to connect with the Twitch API, manage a channel, create bots, etc
Stars: ✭ 22 (+69.23%)
Mutual labels:  irc-bot
TideBot
我的 IRC 机器人,虽然这个 Bot 能让聊天者在 IRC 里玩游戏,但除了游戏,还有其他很多功能。
Stars: ✭ 26 (+100%)
Mutual labels:  irc-bot
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 69 (+430.77%)
Mutual labels:  irc-bot
irc-rss-feed-bot
Dockerized IRC bot to post RSS/Atom and scraped HTML/JSON/CSV feeds to channels
Stars: ✭ 24 (+84.62%)
Mutual labels:  irc-bot
insobot
C99 modular IRC bot with markov chains
Stars: ✭ 71 (+446.15%)
Mutual labels:  irc-bot
calculon
Library for writing IRC bots in OCaml, a collection of plugins, and a dramatic robotic actor.
Stars: ✭ 26 (+100%)
Mutual labels:  irc-bot
energymech
EnergyMech IRC Bot
Stars: ✭ 24 (+84.62%)
Mutual labels:  irc-bot
cappuccino
Just another IRC bot.
Stars: ✭ 13 (+0%)
Mutual labels:  irc-bot
squircy2
Golang IRC bot, scriptable with javascript
Stars: ✭ 18 (+38.46%)
Mutual labels:  irc-bot
phenny
My fork of phenny lives on at https://github.com/vtluug/phenny. This tree is now unmaintained.
Stars: ✭ 15 (+15.38%)
Mutual labels:  irc-bot
TimTheWordWarBot
Timmy - The NaNoWriMo Wordwar Bot
Stars: ✭ 14 (+7.69%)
Mutual labels:  irc-bot
eggdrop-docker
No description or website provided.
Stars: ✭ 20 (+53.85%)
Mutual labels:  irc-bot
HackServ
Python 3 IRC Bot / Botnet
Stars: ✭ 28 (+115.38%)
Mutual labels:  irc-bot
honeybot
🛩 A python IRC bot with simple plugins dev. Ignited in mauritius, first-timers friendly! Moved to github.com/pyhoneybot/honeybot
Stars: ✭ 57 (+338.46%)
Mutual labels:  irc-bot
alice
Alice Margatroid, a dollmaster that pretends not to be a doll itself.
Stars: ✭ 14 (+7.69%)
Mutual labels:  irc-bot
yossarian-bot
An IRC bot with a bunch of features.
Stars: ✭ 30 (+130.77%)
Mutual labels:  irc-bot
teleirc
Go implementation of a Telegram <=> IRC bridge for use with any IRC channel and Telegram group
Stars: ✭ 112 (+761.54%)
Mutual labels:  irc-bot
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 57 (+338.46%)
Mutual labels:  irc-bot
Cardinal
A Python IRC bot, designed to make adding functionality quick and simple.
Stars: ✭ 92 (+607.69%)
Mutual labels:  irc-bot

The plan

This is an IRC bot to help solve a problem we have in CSS Working Group meetings, which is that we discuss a topic for a while that has a GitHub issue, and then fail to make a note of that discussion in the GitHub issue. Since minute taking in meetings happens in IRC, an IRC bot is useful here.

The idea is that the bot will be in the channel, will split the IRC up based on "Topic:" and start/end of meeting, and then if somebody writes "Github: <github-url>" at some point within a topic (changeable/cancellable also with acknowledgment), it will acknowledge it and then when the topic concludes, make a comment in that GitHub issue at the end of the topic with the resolutions, and a <details> with the full IRC log, or something like that. (Understanding "Topic:" itself being a github URL turned out badly because of multiple people entering the same topic leading to multiple short or empty comments.)

(Ideally it will also understand ScribeNick: and the other scribe.perl conventions, but that's past minimum-viable-product, I think. Though ScribeNick should probably be doable quickly...)

How to use

Begin a topic on IRC:

Topic: [name of topic]
github: [URL of a GitHub issue]

The bot responds:

* github-bot OK, I'll post this discussion to [URL of the GitHub issue]

Discuss the topic on IRC.

Add the resolutions:

RESOLVED: frob the snozwuzzle breadth-first

Either begin a new topic:

Topic: Semantics of the gribble

or explictly end the topic:

github-bot, end topic

At this point, the github-bot responds:

* github-bot Successfully commented on [URL of the GitHub issue]

The comments that github-bot adds are everything since the last Topic was begun, even if that was before the github: [URL] was entered.

Development notes

If you don't have Rust installed, start with rustup.

If you want to use the bot to generate real GitHub comments, you'll need to generate a GitHub personal access token while logged in to the GitHub account that you want to make the comments, and put the personal access token in a file (say, ./github_access_token_file). Then you can compile and run the bot with a single cargo command, such as one of:

RUST_BACKTRACE=1 RUST_LOG=wgmeeting_github_ircbot cargo run ./src/config-dev.toml ./github_access_token_file
RUST_BACKTRACE=1 RUST_LOG=wgmeeting_github_ircbot cargo run --release ./src/config.toml ./github_access_token_file

Or you could just run automated tests with a different single cargo command (which doesn't require an access token):

RUST_BACKTRACE=1 RUST_LOG=wgmeeting_github_ircbot,test_chats cargo test

or for more verbosity:

RUST_BACKTRACE=1 RUST_LOG=wgmeeting_github_ircbot,test_chats,tokio_core,tokio_reactor cargo test

Do you want this bot for your working group?

If you want this bot for your working group that minutes its teleconferences on irc.w3.org, I'm happy to take pull requests to this repository. You need to add a new channels item in src/config.toml. The channel name in the header gives the IRC channel, the group gives the name of the working group used in comments on github issues, and the github_repos_allowed line lists github repositories that the bot is allowed to comment in.

Acknowledgments

Thanks to Xidorn Quan and Alan Stearns for feature suggestions, and to Manish Goregaokar, Simon Sapin, Jack Moffitt, and Till Schneidereit for answering my questions about Rust while I was trying to learn Rust while writing this.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].