Giter Site home page Giter Site logo

benjiyamin / officebot Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 49 KB

A running SlackBot project for my team's channels at work. It's designed to provide basic everyday functions.

License: GNU General Public License v3.0

Python 100.00%
slackbot slack-bot everyday-functions

officebot's Introduction

OfficeBot

A running SlackBot project for my team's channels at work. It's designed to provide basic everyday functions. I've used the slackbot framework for some structure. In addition, some base functions are extended from the Limbo library, as not to reinvent the wheel.

Keyword commands

Current plugins and commands include:

  • Calculate
    • Solve a mathematical expression. (Extends Limbo).
      • calc [expression]
      • calculate [expression]
      • solve [expression]
  • General
    • Show the available list of officebot commands.
      • commands
      • help
      • what can you do
      • what you can do
    • Show the bot's description. This should be defined in config.yml as description.
      • about yourself
    • Show the bot's company. This should be defined in config.yml as company.
      • who do you work for
      • your job?
    • Show the bot's name. This should be defined in config.yml as name.
      • your name
      • who are you
  • Google
    • Search for something and retrieve the top result. (Extends Limbo).
      • google [query]
      • look up [query]
      • search [query]
  • Jokes
    • Say a random Chuck Norris joke. Uses the The Chuck Norris Internet Database API.
      • chuck norris joke
    • Say a random Chuck Norris joke, but with a team member's name instead.
      • make [user] feel better
      • cheer [user] up
      • cheer up [user]
    • Say a Horatio Caine style one-liner. If no quote is defined, say a random one.
      • csi joke [quote 1] [quote 2]
      • horatio joke [quote 1] [quote 2]
      • horatio caine joke [quote 1] [quote 2]
  • Map
    • Show a map of an area. (Extends Limbo).
      • map [query]
      • show me [query]
      • where is [query]
  • Podcasts
    • Retrieves the name of a Random podcast from the iTunes Top 100. Uses the Apple iTunes API.
      • podcast
  • Quotes
    • Recite a DJ Khaled quote.
      • motivate
      • motivation
      • motivational
      • khaled
  • Random
    • Choose a random team member.
      • random member
      • random person
      • random team member
      • random user
    • Flip a coin.
      • coin flip
      • flip a coin
  • Wikipedia
    • Retrieves some information from Wikipedia. (Extends Limbo).
      • what do you know about [query]
      • wiki [query]
      • wikipedia [query]

Installation

  1. Fork it!

  2. Create a local clone of your fork.

     $ git clone https://github.com/YOUR-USERNAME/officebot
    
  3. Set up a clean working environment, using virtualenv.

     $ virtualenv venv -p python3
     $ source venv/bin/activate
     $ pip install -r requirements/development.txt
    
  4. For the bot to work properly, a config.yml file must be created. You can get this from your Bot's API token from its page upon creation. Add the following line and format to config.yml.

     api-key-bot-token: 'YOUR-BOT-API-KEY'
    
  5. In order to run office bot, execute the main script.

     `$ python run.py`.
    

TODOs

  • Unit tests

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.