QVINTVS · SCRIBET

Kurztipp: Standard-Prefix für Cinch setzen

Wie man für den IRC-Bot Cinch das Standardprefix festlegt.

Cinch ist ein Framework zum Erstellen von IRC-Bots in Ruby (ich werde hierzu später noch Artikel schreiben). Was mich bisher immer unheimlich genervt hat, ist, dass alle Plugins standardmäßig das Prefix /^!/ verdonnert bekommen, sodass alle Kommandos, die jedes Plugin definiert, nur als !kommando aufgerufen werden können. Ich habe dazu bisher in jedem meiner Plugins einzeln das Standardpräfix überschrieben und auf den Botnamen gesetzt. Das ist natürlich wenig nutzerfreundlich, kann der Nutzer eines Bots doch kein Präfix seiner Wahl verwenden. Nachdem ich heute ein wenig im Internet gesucht habe, bin ich auf diese Dokumentation getoßen, die die Option config.plugins.prefix listet, welche genau das macht, was ich mir schon immer gewünscht habe: Das Standardpräfix zu ändern. Um davon Gebrauch zu machen, genügt es, das folgende in den configure-Block eures Cinch-Bots aufzunehmen:

fig.plugins.prefix = /^meinprefix/

oder was auch immer ihr als Präfix wollt. Da man neben Regulären Ausdrücken auch Lambdas als Präfix einsetzen darf, lässt sich so auch ein Präfix erstellen, das immer auf den momentanen Nick des Bots passt:

fig.plugins.prefix = lambda{|msg| Regexp.compile("^#{Regexp.escape(msg.bot.nick)}:?\s*")}

Im Einsatz sieht das dann so aus (mein Bot heißt gerade mega-cinch):

19:04 @Quintus_q | mega-cinch: echo test
19:04 mega-cinch | test

Das liest sich IMO viel angenehmer als

!echo test

. Aber wie oben angedeutet könnt ihr euch einfach ein Präfix nach Wahl zusammenklöppeln.

Valete.