Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shizeeg/jagod

Jabber Go Daemon is a XMPP-bot.
https://github.com/shizeeg/jagod

go jabber-bot xmpp

Last synced: 17 days ago
JSON representation

Jabber Go Daemon is a XMPP-bot.

Awesome Lists containing this project

README

        

[![Go Report Card](https://goreportcard.com/badge/github.com/shizeeg/jagod)](https://goreportcard.com/report/github.com/shizeeg/jagod)

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 <[email protected]>[/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


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

Send iq:version request to nick or server.

---------------------------------------------------------------------
XEP-0199: XMPP Ping


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

Ping server or occupant in conference.

---------------------------------------------------------------------
XEP-0202: Entity Time


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

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

---------------------------------------------------------------------
XEP-0249: Direct MUC Invitations


!! 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:
```sh
$ export EXCALC='calc'
```
or
```sh
$ 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:

```conf
[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:

```cfg
[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:

---------------------------------------------------------------------

Many thanks goes to:

Go language team - for lovely programming language

@Adam Langley - for wonderful lib.

@speter - for nice config parser.

and my CONTRIBUTORS!