политика конфиденциальности

This commit is contained in:
mihalin 2022-03-17 09:44:24 +03:00
parent 02e06863e7
commit fd3645fa52
3 changed files with 34 additions and 1 deletions

View File

@ -21,7 +21,7 @@ Olgram пересылает сообщения так, чтобы сообщен
Включите потоки в настройках бота Olgram Опции->Потоки сообщений
.. user_info:
.. _user_info:
Данные пользователя
-------------------
@ -36,3 +36,8 @@ Olgram пересылает сообщения так, чтобы сообщен
идентификатор #id остаётся неизменным для одного и того же аккаунта.
Включить эту функцию можно в настройках бота Olgram Опции->Данные пользователя
.. note::
Включение этой опции меняет текст политики конфиденциальности вашего feedback бота (команда /security_policy)
и может отпугнуть некоторых пользователей. Не включайте эту опцию без необходимости.

View File

@ -35,6 +35,24 @@ def _thread_uniqie_id(bot_id: int, chat_id: int) -> str:
return f"thread_{bot_id}_{chat_id}"
async def _on_security_policy(message: types.Message, bot):
text = "<b>Политика конфиденциальности</b>\n\n" \
"Этот бот не хранит ваши сообщения, имя пользователя и @username. При отправке сообщения (кроме команд " \
"/start и /security_policy) ваш идентификатор пользователя записывается в кеш на некоторое время и потом " \
"удаляется из кеша. Этот идентификатор используется только для общения с оператором; боты Olgram " \
"не делают массовых рассылок.\n\n"
if bot.enable_additional_info:
text += "При отправке сообщения (кроме команд /start и /security_policy) оператор <b>видит</b> ваши имя " \
"пользователя, @username и идентификатор пользователя. "
else:
text += "В зависимости от ваших настроек конфиденциальности Telegram, оператор может видеть ваш username, " \
"имя пользователя и другую информацию"
return SendMessage(chat_id=message.chat.id,
text=text,
parse_mode="HTML")
async def send_user_message(message: types.Message, super_chat_id: int, bot):
"""Переслать сообщение от пользователя, добавлять к нему user info при необходимости"""
if bot.enable_additional_info:
@ -149,6 +167,10 @@ async def message_handler(message: types.Message, *args, **kwargs):
return SendMessage(chat_id=message.chat.id,
text=bot.start_text + ServerSettings.append_text())
if message.text and message.text == "/security_policy":
# На команду security_policy нужно ответить, не пересылая сообщение никуда
return _on_security_policy(message, bot)
super_chat_id = await bot.super_chat_id()
if message.chat.id != super_chat_id:

View File

@ -1,4 +1,5 @@
from aiogram import Bot as AioBot
from aiogram.types import BotCommand
from olgram.models.models import Bot
from aiohttp import web
from asyncio import get_event_loop
@ -35,6 +36,11 @@ async def register_token(bot: Bot) -> bool:
res = await a_bot.set_webhook(url_for_bot(bot), certificate=certificate, drop_pending_updates=True,
max_connections=10)
await a_bot.set_my_commands([
BotCommand("/start", "(Пере)запустить бота"),
BotCommand("/security_policy", "Политика конфиденциальности")
])
await a_bot.session.close()
del a_bot
return res