Skip to content

shizeeg/jagod

Repository files navigation

Go Report Card

jagod

Jabber Go Daemon is a XMPP/Jabber bot.

The project in heavy development at the moment. Use at your own risk.

The basic command syntax:

<prefix><section> <command> [parameters]

For example:

!user ping jago

<section> is any string at the moment so you can double the prefix like that:

!! ping jago

Parameter can be nick (in conference) or jabber-server (domain). Without parameter ping requester.

Some commands:

XEP-0045: Multi-User Chat

!! join <conf@conference.server.tld>[/nick]
[password]

Joins the conference with optional nick and password.

!! leave [confjid]
[status/reason]

If not specified, leaves the current conference with optional reason message. You can also use "quit", "exit" or "part" instead.


XEP-0092: Software Version http://xmpp.org/extensions/xep-0092.html

!! version [nick]|[server.tld]

Send iq:version request to nick or server.


XEP-0199: XMPP Ping http://xmpp.org/extensions/xep-0199.html

!! ping [nick]|[server.tld]

Ping server or occupant in conference.


XEP-0202: Entity Time http://xmpp.org/extensions/xep-0202.html

!! time [nick]|[server.tld]

Send urn:xmpp:time request to nick or server.


XEP-0249: Direct MUC Invitations http://xmpp.org/extensions/xep-0249.html

!! invite <nick>
[reason]

WARNING: This XEP is partially supported!

Now it just sends the actual invite. No checks for compatibility and no response implemented. reason seems like do not work (why?).


Yandex Dictionary (Yandex API key required!)

!! tr <lang1>-<lang2> <word>

Translate <word> from <lang1> to <lang2> To see possible language pairs to use:

!! tr help

Yandex Spell

!! spell <text>

spell-check using yandex spellchecker. Now supports english, russian & ukrainian languages. You can set desired languages in config.


Google Search

!! google [-lang=en] [-start=0] <query>

Search text in "query" on google.com


External Calculator

!! calc <expression>

Run external calculator program (robpike.io/ivy by default) You can set an external calc yourself through EXCALC environment variable, for example:

$ export EXCALC='calc'

or

$ export EXALC='ivy -e=true'

Show how much time to supplied date

!! when 2017-05-16
<jagod> 2 months, 1 day, 2 hours

WTF - Acronym collection lookup a famous nix* utility now in pure Go

!! wtf [is] foss
<jagod> Free and Open Source Software

it skips an optional 'is' just as the original wtf does.


Automatically unescape urls in messsages. You can comment out the following line in config:

[filters]
; unescape_urls=auto

To disable this functionality.


Automatically translates cyrillic text typed in wrong layout. For example:

<shizeeg> ghbdtn? vbh!
<jago> привет, мир!

Disabled by default. You can add to config:

[filters]
turn=auto

To enable this functionality.


Show title of a webpage posted in MUC. For example:

<sh!zeeg< look here is a new version of jagod released! https://github.com/shizeeg/jagod
<jago< Title: shizeeg/jagod · GitHub

Development room: xmpp:dev@conference.net45.tk?join


Many thanks goes to:

Go language team - for lovely programming language http://golang.org/

@Adam Langley - for wonderful https://github.com/agl/xmpp lib.
@speter - for nice http://code.google.com/p/gcfg config parser.

and my CONTRIBUTORS!

About

Jabber Go Daemon is a XMPP-bot.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published