Bringing https://github.com/reality/dbot to the 21st century - again.
Go to file
Georg ac3d2761bc
PASS authentication and fixed PING-PONG
Signed-off-by: Georg <georg@lysergic.dev>
2021-08-29 20:03:49 +02:00
jsbot PASS authentication and fixed PING-PONG 2021-08-29 20:03:49 +02:00
modules Signed-off-by: Georg <georg@lysergic.dev> 2021-08-24 21:16:26 +02:00
modules-stock Signed-off-by: Georg <georg@lysergic.dev> 2021-08-24 21:16:26 +02:00
public PART ONE #543 I THINK YES 2014-02-02 05:18:44 +00:00
views fix flashy 2016-03-04 17:18:35 +00:00
.gitignore config.json s 2014-02-20 00:56:09 +01:00
.gitmodules TRANSLATIONS FROM ROI 2013-10-29 21:39:26 +00:00
config.json.sample only one connection to the database across all modules. master db driver in dbType of main config.json 2015-02-09 16:54:59 +00:00
database.js fix indentation 2015-02-09 16:56:29 +00:00
install Initial rewrite of goodreads module using async/await 2018-04-12 01:11:15 -04:00
LICENCE GPL 2013-04-22 19:36:13 +00:00
README.md Signed-off-by: Georg <georg@lysergic.dev> 2021-08-24 21:16:26 +02:00
run.js fix save callback lack (lol) 2018-05-12 18:56:14 +01:00
snippets.js remove chancein 2013-05-17 17:04:55 +00:00
strings.json TRANSLATIONS FROM ROI 2013-10-29 21:39:26 +00:00
VERSION start 0.5 dev 2013-07-25 21:50:29 +00:00

dbot - revived

The motivation for this fork came from trying to make the trusty bot of our IRC network work with new infrastructure, until all features made their way into its successor.

Note that this project is not production worthy - it contains a lot of hardcoded debug lines and untidy code. Whether it will see prettification anytime soon, I cannot tell.

So far, the following issues were tackled successfully:

  • NickServ identification
  • NickServ user retrieval
  • Quote shortcuts (~foo)
  • Channel statistics (cstats)

This makes the bot usable on an IRC network powered by the Ergo IRCd, which is dbot was not happy communicate with at all when I first tried to run it.

The following issues are known, but are assigned low priority:

  • No PASS/SASL authentication - it is hackable with a PASS line right after the USER command, however that prevents some parts of the bot from initializing. To use NickServ authentication, allowing the bot to start properly, the strict username checking feature in Ergo needs to be disabled
  • Lots of ENOENT errors on startup
  • Channel mode detection and assignment
  • Some sites in the webinterface dont load / show errors

The following issues are known, and await investigation:

  • Upon issuing some administrative commands, apparently a sort of “queue flush” gets trigered, causing dozens of unban events to make the bot unresponsive for a while

The following issues are resolved, but are not available in this repository, due to files not being accessible:

  • WHO parsing for user management commands
  • nban/nunban, with newly added ipban

The directory modules-stock/ is the stock modules directory, kept for safekeeping. The directory modules/ contains changed modules.

The jsbot/ directory is not populated in the stock repository, however its contents are included here, as a few essential changes have been implemented there as well.

Tested with node v10.

Note: TripSit IRC related modules are to be found in a seperate repository.


Original README.md

DBot IRC Bot

Introduction

DBot is an IRC bot which aims to be the fanciest IRC bot around - On the general standard of software fanciness, dbot is statistically rated as being 82% the same as bathing in fine, fine grape juice.

Please note that this documentation is not complete and is a work in progress, given I started it rather a long time after I began development of the project. Please dont judge me too harshly for this as I am, in fact, mildly allergic to writing documentation.

Getting Started

To get started with DBot, you first need to decide on a database system to use. DBot uses the databank library, and each module can be configured to use any database driver databank supports in its respective config.json file. There is currently no default database driver option.

The default for all modules is the redis driver, and you can simply install the Redis server to get going.

Once you have that set up, you can install DBots dependencies, configure and run the bot for the first time with the following command:

./install

Upgrading

If you have used a previous version of DBot, then you can migrate most data using the dbot-migrate module. Instructions on how to run this are included in the repository - remember to remove db.json after migration, otherwise the instance will be slow!