Giter VIP home page Giter VIP logo

greenbot's Introduction

greenbot

Coverity Scan Build Status Build Status

A configurable chat based bot written in C++.

Building

Prerequisites:

  • A C++11-compliant compiler (It's 2015, people)
  • V8 (the javascript engine) for the JS module
./configure
make
./greenbot

Adding modules

All that is required for a module is a header file in modules/inc that contains a class that implements the Callback class (defined in src/inc/bot.h). The implementation of the module can go in modules/ as a .cpp file and it will be automatically compiled. The configure script will scan the header files in modules/inc to generate a new header file src/inc/modules.h, which will allow the src/core.cpp to call the function LoadModules. This means you do not need to modify any existing code to add a module, simply drop in the new files.

In order for the files to be recognized they will need a header of the form

//MODULE:[ClassName]
//LIBS:-l[libname1] -l[libname2]

where [ClassName] is the name of the class that implements the Callback class and [libname] are any library dependencies the module has. If there are no library dependencies, you may omit the //LIBS line. Check out the modules currently added for examples.

Contact

If you need to directly contact someone you can join #greenbot on irc.rizon.net (someone is almost always there)

#TODO

  • Change modules to based on a shared library scheme
  • Add logging functionality

greenbot's People

Contributors

emgram769 avatar greenbagels avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

emgram769

greenbot's Issues

Logging

Add a logging system using ofstream. Initially it should probably just be raw logging with timestamps, user nicknames, destination, and message.

Travis-CI integration

I'm currently working on getting Travis-CI builds running using their Docker system, but until certain packages get approved (libv8-dev), the builds will fail.

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.