Git Product home page Git Product logo

boringbot's Introduction

An IRC bot

Mailbot: tell it to tell someone else something, when they are next seen

usera>      !tell userb bors is down again
boringbot>  usera: โœ” I'll let them know
... five hours later ...
userb>      I'm going to work on new features now!
boringbot>  userb: [usera] bors is down again
userb>      Apparently, I'm going to need to put the fires out first.

Static responses

usera>      !ping
boringbot>  usera: ECHO_REPLY
userb>      !help
boringbot>  userb: https://github.com/notriddle/boringbot
userc>      !botsnack
boringbot>  ๐Ÿ˜‹

Translates GitHub issue / pull request numbers into links

usera>      #64 is *so annoying*!
boringbot>  Issue #64 [open]: Merging a PR does not close it, or its associated issues - https://github.com/bors-ng/bors-ng/issues/64

Pings the channel when issues / pull requests are opened or closed

<boringbot> Issue #64 [closed]: Merging a PR does not close it, or its associated issues - https://github.com/bors-ng/bors-ng/issues/64

Perform arithmetic

See https://github.com/narrowtux/abacus for a list of supported commands.

user> !calc 1+1
boringbot> 2

Generate random number

user> boringbot, roll 1d10
boringbot> user: 2
user> boringbot, roll d6-1
boringbot> user: 0

Copyright license

boringbot is licensed under the Apache license, version 2.0. It should be included with the source distribution in LICENSE-APACHE. If it is missing, it is at http://www.apache.org/licenses/LICENSE-2.0.

boringbot's People

Contributors

bors-ng[bot] avatar bors[bot] avatar notriddle avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

boringbot's Issues

Get dialyzer working on Travis

This is going to need some way to build the PLT file without being OOM-killed. Weird that it fails every time for Boringbot, and flakily for Bors. I really need a fix for this...

Clean up the pull-request / issue distinction

http://logs.glob.uno/?c=mozilla%23bors&s=8+Apr+2017&e=8+Apr+2017#c847

Issue #65 [closed]: Update crypto-hashes targets to compile with latest changes. - github.com/rust-fuzz/targets/pull/65

The issue endpoint does not contain the info about whether a PR is merged or not. boringbot switch to split format_issue and format_pr functions. When it hits the issue endpoint, and determines that the number actually refers to a PR, it should make a second request for the PR info and use format_pr instead of format_issue.

Post info for GitHub issue URLs

Right now, #XXX and ยฃXXX make boringbot pop up with a info line. Maybe we should do it for full URLs like https://github.com/ooo/rrr/issues/xxx, like crowbot does?

Add a playbot-style REPL

There are two sorts of REPLs we might want:

  • Sandboxed REPL, accessible to anyone.
  • Unsandboxed REPL, accessible only to administrators as a way to do arbitrary stuff to the bot.

Set up a GitHub issue cache

This should be stored in an Agent or GenServer, since it doesn't need to persist. More importantly, we can populate the agent from the webhooks we're already getting.

Add a mailbot

Preferred syntax:

user>      boringbot: tell notriddle bors is down again
boringbot> Will do!

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.