A threaded Jabber bot that uses Sinatra to accept inbound payloads, parse them, and send them on to your Jabber channels. An SQLite database is used to store the messages.
Right now only Github is supported as a plugin. The public Github API is used to lookup user information and cache in SQLite to avoid unnecessary database calls.
gem 'thin' gem 'xmpp4r' gem 'sinatra' gem 'data_mapper' gem 'dm-sqlite-adapter' gem 'foreman' gem 'god'
The configuration file is located at "walter/conf/main.yml":
server_name: your-jabber-server.org server_port: 5222 username: email@example.com password: securepassword nickname: Walter conferences: - firstname.lastname@example.org - email@example.com plugins: github: githubusername/repo1: notify: - issue - pull conferences: - firstname.lastname@example.org githubusername/repo2: notify: - commit - issue - pull conferences: - email@example.com - firstname.lastname@example.org
The first "conferences" array is simply the list of conferences that you want Walter to persist in.
Under the plugins section you can see that you can heavily customize how you want each repository to be notified and to which conferences.
- Bundle those gems:
- Change to the root "walter" directory and run: