Package: errbot-hl
Note: This is a forked version of Errbot. The main reason was, to be able to have an automated release process and release the
changes often. The base for this fork was version 6.1.9 (commit: 7609f6c) from June 2023. The first released version here is
7.0.0 and contains all unreleased changes up to commit 0080eff1324930207f021f55674d5240abae172d from 2023-10-30.Docker image:ghcr.io/hapag-lloyd/errbot-hlPyPi package:errbot-hlErrbotErrbot is a chatbot. It allows you to start scripts interactively from your chatrooms
for any reason: random humour, chatops, starting a build, monitoring commits, triggering
alerts…It is written and easily extensible in Python.Errbot is available as open-source software and released under the GPL v3 license.FeaturesChat servers supportBuilt-inIRC supportTelegram supportXMPP supportWith add-onsSlack support(Seeinstructions)Discord(Seeinstructions)Gitter support(Seeinstructions)Webex(Seeinstructions)Mattermost(Seeinstructions)RocketChat(Seeinstructions)Skype(Seeinstructions)TOX(Seeinstructions)VK(Seeinstructions)Zulip(Seeinstructions)AdministrationAfter the initial installation and security setup, Errbot can be administered by just chatting to the bot (chatops).install/uninstall/update/enable/disable private or public plugins hosted on gitplugins can be configured from chatdirect the bot to join/leave Multi User Chatrooms (MUC)Security: ACL control feature (admin/user rights per command)backup: an integrated command !backup creates a full export of persisted data.logs: can be inspected from chat or streamed to Sentry.Developer featuresVery easy to extend in Python! (see below)Presetup storage for every plugin i.e.self['foo']= 'bar'persists the value.Conversation flows to track conversation states from users.Webhook callbacks supportsupportsmarkdown extrasformatting with tables, embedded images, links etc.configuration helper to allow your plugin to be configured by chatText development/debug consolesSelf-documenting: your docstrings become help automaticallysubcommands and various arg parsing options are available (re, command line type)polling support: your can setup a plugin to periodically do somethingend to end test backendcard rendering under SlackCommunity and supportIf you have:a quick question feel free to join us on chat aterrbotio/errbot on Gitter.a plugin development question please useStackoverflowwith the tagserrbotandpython.a bug to report or a feature request, please use ourGitHub project page.You can also ping us on Twitter with the hashtag#errbot.InstallationPrerequisitesErrbot runs under Python 3.6+ on Linux, Windows and Mac. For some chatting systems you’ll need a key or a login for your bot to access it.QuickstartWe recommend to setup avirtualenv.Installerrbotfrom pipMake a directory somewhere (here callederrbot) to host Errbot’s data filesInitialize the directoryTry out Errbot in text mode$pipinstallerrbot$mkdirerrbot;cderrbot$errbot--init$errbotIt will show you a prompt>>>so you can talk to your bot directly! Try!helpto get started.Adding support for a chat systemFor the built-ins, just use one of those optionstelegram, IRC, XMPPwith pip, you can still do it
after the initial installation to add the missing support for example$ pip install "errbot[irc]"For the external ones (Slack, Discord, Gitter, Skype, etc …), please follow their respective github pages for instructions.ConfigurationIn order to configure Errbot to connect to one of those chat systems you’ll need to tweak theconfig.pyfile generated
byerrbot –init.To help you, we have a documented template available here:config-template.py.Note: even if you changed the BACKEND from the configuration, you can still useerrbot -Tto test
out your instance locally in text mode.Starting Errbot as a daemonIf all that worked, you can now use the -d (or –daemon) parameter to run it in a
detached mode:errbot--daemonInteracting with the BotAfter starting Errbot, you should add the bot to your buddy list if you haven’t already.
You’ll need to invite the bot explicitly to chatrooms on some chat systems too.
You can now send commands directly to the bot!To get a list of all available commands, you can issue:!helpIf you just wish to know more about a specific command you can issue:!helpcommandManaging pluginsYou can administer the bot in a one-on-one chat if your handle is in the BOT_ADMINS list inconfig.py.For example to keyword search in the public plugin repos you can issue:!repossearchjiraTo install a plugin from this list, issue:!reposinstall<nameofrepo>For example!repos install errbotio/err-imagebot.Writing pluginsWriting your own plugins is extremely simple.errbot –initwill have installed in thepluginssubdirectory a plugin
callederr-exampleyou can use as a base.As an example, this is all it takes to create a “Hello, world!” plugin for Errbot:fromerrbotimportBotPlugin,botcmdclassHello(BotPlugin):"""Example 'Hello, world!' plugin for Errbot"""@botcmddefhello(self,msg,args):"""Return the phrase "Hello, world!" to you"""return"Hello, world!"This plugin will create the command “!hello” which, when issued, returns “Hello, world!”
to you. For more info on everything you can do with plugins, see theplugin development guide.Contribution to Errbot itselfFeel free to fork and propose changes ongithub