GithubHelp home page GithubHelp logo

flengbot's Introduction

Flengbot

Flengbot is a simple/crappy Jabber bot for small groups. Messages sent to the bot are re-broadcast to all online subscribers. Messages are also logged to a database, where they are parsed (offline) for links. These links are presented on flengbot.com.

Installation

You'll need some perl modules to get started (assuming you already have perl installed):

perl -MCPAN -e 'install Net::Jabber'
perl -MCPAN -e 'install DBD::mysql'

After you have the modules (and their dependencies) installed, you need to create your database. The schema.sql file will do this for you:

mysql -u root -p -D database_name < schema.sql

You'll need a Jabber account for the bot to use. GMail or jabber.org are both good candidates, although they both have reliability issues fairly often. If you're a serious nerd, consider running your own Jabber server.

Next, edit the settings at the top of bot.pl and enter your own Jabber and MySQL settings.

Finally, run the bot using perl bot.pl. You might want to run it behind screen once you've confirmed it's working.

Usage

To subscribe to the bot, add it to your contacts and send it a message. It will explain that you need to send start to it to start subscribing. Sending stop will stop your subscription. Any other messages are sent to all subscribers (including yourself).

Nicknames can be set in the users table in the database - they default to your Jabber ID.

Missing bits

This first pass only contains the bot and schema. The cron task to extract links from the log are missing. The web portions required to show links and stats are also missing. I'll add these at some point when they get cleaned up.

Flengbot has been online (in this incarnation) for about 3 years, handling over 50 thousand messages. It might be ugly, but it mostly works.

flengbot's People

Contributors

iamcal avatar

Watchers

 avatar

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.