https://github.com/nick-denry/jabberdo
Simple TODO lists over Jabber/XMPP
https://github.com/nick-denry/jabberdo
jabber jabber-bot python-bot sleekxmpp todo todolist xmpp xmpp-bot
Last synced: 29 days ago
JSON representation
Simple TODO lists over Jabber/XMPP
- Host: GitHub
- URL: https://github.com/nick-denry/jabberdo
- Owner: nick-denry
- License: gpl-3.0
- Created: 2019-04-18T02:55:42.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-03-21T11:53:39.000Z (about 6 years ago)
- Last Synced: 2025-10-22T02:53:44.455Z (8 months ago)
- Topics: jabber, jabber-bot, python-bot, sleekxmpp, todo, todolist, xmpp, xmpp-bot
- Language: Python
- Size: 68.4 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TODO over XMPP
Pros. Easy share your task lists with any device since jabber clients are everywhere.
**Disclaimer:** This is pre-alpha software. Everything could be changed. Follow README to watch the changes.
## 1. Command list
**Diplay Help:**
Just text `?`
**Control lists:**
`..` - output existing lists
`.list_name` - add or display list, i.e. `.tasks`. Also makes list "active".
`.` - display active list
`.--` - clear tasks of the active list
`.!` - display completed tasks of the active list
`.!-` - clear completed tasks of the active list
`.-list_name` - delete list and all of its tasks
**Control tasks:**
`any message` - adds task to the active list
`:any multiline message` - add multiple tasks from multiline message
`!task_number [task_number]` - move task(s) `task_number` to complete tasks
`-task_number` - delete task `task_number` from list, i.e. -1 deletes first task
`>task_number task_title` - edit task `task_number` from current list, set it new `title`
`^task_number list_name` - move task `task_number` from current list to `list_name` list
**Schedule tasks:**
`*task_number time` or `*task_number date time` - set reminder for task `task_number` from active list to provided time or date/time
example: *1 22:04 - set reminder for task 1 from active list to 22:04 today.
`.*` - list scheduled tasks
## 2. Requremens
- Redis server
- [SleekXMPP](https://github.com/fritzy/SleekXMPP)
- python-redis
- python-yaml
- python-dateutil
## 3. Installation
1. Create `virtualenv` in your preferred way.
#### Debian/Ubuntu example.
sudo apt-get install redis-server # Install redis server
sudo apt-get install python3-pip # Install python3-pip
sudo pip3 install virtualenv # Install virtualenv
virtualenv -p python3 myenv # Create virtualenv
source myenv/bin/activate # Activate created env
# Add packages
pip3 install sleekxmpp
pip3 install redis
pip3 install pyyaml
pip3 install python-dateutil
deactivate # Deactivate env
2. [Download bot files](https://github.com/nick-denry/JabberDo/archive/master.zip) or clone form github:
```bash
git clone https://github.com/nick-denry/JabberDo.git
```
2. Copy `main-local.dist.yml` to `main-local.yml` at `config` folder.
```bash
cp main-local.dist.yml main-local.yml
```
Set config as follow:
```yaml
bot_account:
jid: bot_jid@example.com
password: bot_password
port: 5222
PROTOCOL_SSLv23: True
db:
type: redis
redis_db:
host: localhost
port: 6379
db: 0
allowed_jids:
- jid@example.com
```
`allowed_jids` - users allowed to interact with bot.
## 4. Run
Run in background with `screen` and created environment
```bash
screen myenv/bin/python3 bot.py
```