Code Monkey home page Code Monkey logo

olgram's Introduction

OLGram

Static Analysis Status Deploy Status Documentation

@OlgramBot - конструктор ботов обратной связи в Telegram

Документация: https://olgram.readthedocs.io

Olgram @OlgramBot это конструктор, который позволяет создавать боты обратной связи в Telegram. После подключения к Olgram пользователи вашего бота смогут писать сообщения, которые будут пересылаться вам в чат, где вы сможете на них ответить.

Такие боты могут вам пригодиться, например:

Пример 1. Вы администрируете Telegram-канал и хотите дать своим подписчикам возможность связаться с вами, но не хотите оставлять свои личные контакты. Тогда вы можете создать бота обратной связи: подписчики будут писать боту, вы будете отвечать через бота анонимно.

Пример 2. Вы организуете небольшой call-центр в Telegram или группу технической поддержки. С помощью бота обратной связи вы можете принимать заявки от пользователей в общий чат ваших специалистов, обсуждать эти заявки и отвечать пользователям прямо из этого чата.

Читайте больше: https://olgram.readthedocs.io

olgram's People

Contributors

arcxio avatar boy2dv8 avatar gordonfreeman-by avatar milksense avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

olgram's Issues

problem with connection to redis when installing the docker-compose-full.yaml

when I use this command
sudo docker compose -f docker-compose-full.yaml up -d

all the containers run but I'm getting this error

[+] Running 7/7
 ⠿ Volume "olgram_database"       Created                                                                                                              0.0s
 ⠿ Volume "olgram_redis-db"       Created                                                                                                              0.0s
 ⠿ Container olgram-postgres-1    Started                                                                                                              7.1s
 ⠿ Container olgram-redis-1       Started                                                                                                              6.8s
 ⠿ Container olgram_traefik       Started                                                                                                              7.1s
 ⠿ Container olgram-watchtower-1  Started                                                                                                              6.8s
 ⠿ Container olgram-olgram-1      Started
ubuntu@abdh5oracle:~/olgram$ docker logs olgram-olgram-1
Success upgrade 1_20210911011051_None.sql
Success upgrade 2_20210911182503_update.sql
Success upgrade 3_20210917115559_update.sql
Success upgrade 4_20210926165918_update.sql
Success upgrade 5_20210926185420_update.sql
Success upgrade 6_20220119000000_banned.sql
Success upgrade 7_20220210194635_update.sql
Success upgrade 8_20220210201740_update.sql
Success upgrade 9_20220218211744_update.sql
Success upgrade 10_20220219201520_update.sql
Success upgrade 11_20220317080443_update.sql
Success upgrade 12_20220329215535_update.sql
Success upgrade 13_20220409051838_update.sql
Success upgrade 14_20220801015243_update.sql
2022-10-20 13:46:34,130 ERROR    Task was destroyed but it is pending!
task: <Task pending name='Task-6' coro=<RedisConnection._read_data() done, defined at /usr/local/lib/python3.8/site-packages/aioredis/connection.py:177> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fda43865d00>()]> cb=[RedisConnection.__init__.<locals>.<lambda>() at /usr/local/lib/python3.8/site-packages/aioredis/connection.py:165]>
2022-10-20 13:46:35,556 WARNING  ujson module not found, using json
Run olgram polling
Run olgram server
ubuntu@abdh5oracle:~/olgram$

Возможность редактирования сообщений в диалоге бота

Хотелось бы наличие функции редактирования сообщений, в данный момент при редактировании сообщений на любой из сторон ничего не происходит(нет даже уведомления, что редактирование сообщений не поддерживается ботом).

  • Когда пользователь бота редактирует сообщение, то в чате поддержки появляется новое сообщение(старое остаётся в неизменном виде).
  • Когда сообщение редактируется в чате поддержки, то в чате с пользователем исходное сообщение меняет своё содержание(нового сообщения не отправляется, лишь редактируется текст уже существующего).

P.S. Данный функционал реализуем с помощью Telegram API и уже используется в другом боте(неудобство использования бота, в котором это реализовано, на данный момент в отсутствии конструктора, который позволил бы запускать необходимое множество ботов быстро и просто в автоматическом режиме).

Internationalization

Hello, are you interested in adding multilingual support for the bot?

I am looking forward for using the bot on my server for a large group of people who don't understand Russian. I can help with adding such feature if you are open to contributions.

it tries to generate costume cert when running the docker-compose-full.yaml

when I use this command
sudo docker compose -f docker-compose-full.yaml up -d

it make all the containers but the olgram-olgram-1 container keep restarting becuse it is trying to generate costume cert even tho there is no need for it because it should use the traefik container instead
this is the error logs for the olgram container
$ docker logs olgram-olgram-1


Use custom certificate
Generate new certificate
Generating a RSA private key
............................+++++
..............................................+++++
writing new private key to '/cert/private.key'
req: Can't open "/cert/private.key" for writing, No such file or directory
Use custom certificate
Generate new certificate
Generating a RSA private key
..................................+++++
....................................................................................................................................................................................................+++++
writing new private key to '/cert/private.key'
req: Can't open "/cert/private.key" for writing, No such file or directory
Use custom certificate
Generate new certificate
Generating a RSA private key
.......................+++++
................................................................................................................................+++++
writing new private key to '/cert/private.key'
req: Can't open "/cert/private.key" for writing, No such file or directory
Use custom certificate
Generate new certificate

how to get around this problem? thanks in advance

Возможность удаления единичных сообщений, а так же полной очистки диалога с пользователем, вплоть до удаления чата с пользователем

Есть пожелание, чтобы была возможность удаления сообщений на стороне пользователя бота(в некоторых случаях это может обезопасить собеседника и/или спасти от задержания и/или пыток), а именно:

  • Возможность удаления сообщений из чата поддержки - при удалении сообщения в чате поддержки оно удаляется так же и в диалоге с ботом со стороны пользователя бота. При чём, данное поведение касается и сообщений пользователя и сообщений службы поддержки(тех, которые отправлены в ответ пользователю бота).
  • Возможность удаления всех сообщений в чате с пользователе по команде в ответ на сообщение пользователя бота(например команда /clear).
  • Возможность удаления диалога с пользователем - проверено, диалог удаляется, когда на стороне пользователя бота не остаётся ни одного сообщения, в том числе должно удалятся и сообщение появляющееся после запуска бота(команда /start). Выходом для реализации такого механизма является удаление служебных сообщений по таймеру(сообщения после команды /start, включая все команды /, можно даже сразу же удалять команду после /).

P.S. Данный функционал реализуем с помощью Telegram API и уже используется в другом боте(неудобство использования бота, в котором это реализовано, на данный момент в отсутствии конструктора, который позволил бы запускать необходимое множество ботов быстро и просто в автоматическом режиме).

Отображение дополнительной информации о пользователе

Есть потребность в отображении дополнительной информации о пользователе, можно в качестве переключаемой опции(ибо, иногда, нужна наоборот большая анонимность).

Требуется отображение следующей информации:

  • Имя пользователя в виде ссылки(чтобы кликнув на ссылку можно было увидеть профиль пользователя), при некоторых настройках безопасности пользователя такая возможность может не работать, тогда просто будет выводится имя пользователя.
  • id пользователя. Требуется для лучшей идентификации пользователя, так как за одним и тем же ником могут скрываться разные аккаунты и в некоторых случаях это может представлять опасность.

Реализовано может быть примерно следующим образом:

  • Перед каждым сообщением пользователя отображать сообщение с информацией, вида:
    From user | Nickname | #id1234567890
    На мой взгляд, это самая простая и надёжная реализация, так как не требуется "разбирать" и редактировать сообщение, а лишь использовать функцию Телеграм forward и добавлять информационное сообщение.
  • Или же, можно реализовать добавлением информации о пользователе к отображаемому сообщению в чате поддержки.
    Но, на мой взгляд, такой способ сложнее в реализации, так как потребуется "разбирать" каждое сообщение и модифицировать его. А в случае с различными типами сообщений(стикеры,фото/видео и прочие) могут возникнуть проблемы в отображении и вообще ничего не придёт в чат поддержки, что весьма плохо и может привести к потере информации. Так же, могут возникать проблемы при текстовых сообщениях больших объёмов(в Телеграм есть ограничение на количество символов в одном сообщении), что так же может привести к потере информации или "разваливанию" сообщения на два с неизвестными последствиями.

P.S. Данный функционал реализуем с помощью Telegram API и уже используется в другом боте(неудобство использования бота, в котором это реализовано, на данный момент в отсутствии конструктора, который позволил бы запускать необходимое множество ботов быстро и просто в автоматическом режиме).

Добавить кастомные команды

Добавить кастомные команды, которые можно настраивать для каждого бота и ответы для них.

Команды могут быть любые и начинаются со слеша, например /products.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.