imaginaryfriend/README.md

73 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

My great plan is to create a Telegram chat bot that would be like [shizoid](https://github.com/top4ek/shizoid), but in Python and maybe with some extra features.
A-a-a-a-and... it works ([@ImaginaryFriendBot](https://t.me/ImaginaryFriendBot))! Thanks to [@REDNBLACK](https://github.com/REDNBLACK).
## Features
ImaginaryFriend can:
* reply to random messages in chat groups,
* reply to replies to its messages / messages mentioning it,
* send (one!) sticker ("I'm frustrated by all these stickers"),
* detect repeating media files and send [:||||||||||||:] to chat,
* do some commands.
### Examples
```
@ImaginaryFriendBot один ты меня понимаешь
Ты глупый кот. Меня зовут антон иванов, мне только что поймала ту же пустоту.
привет, Антон
Привет!
оч приятно, Антон. Я Боря
Я не знаю юридических тонкостей но по факту квартира же твоя! Боря кот. Оч приятно антон.
Чем ты занимаешься, ты юрист?
Ты не видишь чтоль?
Ну извини, решил уточнить. Как дела то?
Как дела с потоками в яве обстоят? Ну ты понел. Дела отлично, а твои как?
```
```
Нет. У меня друг в дестве кусался.
он тебя загрыз?
Он же говна кусок.
тебя загрыз кусок говна?
Тебя наверх задрать надо.
ты сегодня особо в тему пишешь, что с тобой, ты поумнел?
Что бы крашилось :3?
да ты суицидник XD
Ты не очень умный?
годный бот
Бот захватит мир.
```
## Commands
* `/ping`: you know the drill,
* `/get_stats`: get information on how many pairs are known by ImaginaryFriend,
* `/chance n`: set the probability that ImaginaryFriend would reply to a random message (must be in range 1-50, default: 5),
* `/сhance`: get current probability that ImaginaryFriend would reply to a message,
* `/mod_f pattern`: find all the words starting with pattern,
* `/mod_d word`: remove word from ImaginaryFriend's dictionary,
* `/meow`, `/woof`, `/borscht`, `/boobs`, `/butts` and others: make ImaginaryFriend send a corresponding picture,
* `/vzhuh phrase`: make ImaginaryFriend create a [_вжух_ meme](https://vk.com/vzhuhcat).
## Installation and Setup
### Setup using Docker
1. Install [Docker](https://store.docker.com/search?offering=community&type=edition)
2. Open `cfg` dir and rename `main.docker.cfg.example` to `main.docker.cfg`.
3. Talk to [@botfather](https://t.me/botfather) and create your own bot.
4. Open `main.docker.cfg` file in text editor and paste your newly created bot token into `bot`.`token` property.
5. Execute `docker-compose up`. Congrats! You now have ImaginaryFriend of your own!
### Setup without Docker
1. Install [Python >= 3.5.2](https://www.python.org/downloads/)
2. Install [Redis >= 3.2](https://redis.io/download)
3. Install dependencies with PIP by executing command `pip install -r requirements.txt`
4. Open `cfg` dir and rename `main.plain.cfg.example` to `main.plain.cfg`
5. Talk to [@botfather](https://t.me/botfather) and create your own bot.
6. Open `main.plain.cfg` file in text editor and paste your newly created bot token into `bot`.`token` property.
7. (Optionally) Configure `updates` property for websocket support and `redis` property to point to your Redis instance.
8. Execute the `python run.py`