Skip to content

Commit

Permalink
Удаление настройки WaitToType.
Browse files Browse the repository at this point in the history
  • Loading branch information
Zensonaton committed Dec 4, 2023
1 parent 836463b commit 81e2cc4
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 37 deletions.
23 changes: 1 addition & 22 deletions src/services/vk/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -1530,30 +1530,9 @@ async def _download(index, file_id: str) -> tuple[int, bytes]:
# Пояснение: Иногда, longpoll возвращает событие о новом сообщении раньше, чем messages.send возвращает ID отправленного сообщения.
subgroup.pre_message_cache[message_text.lower().strip()] = None

# Выполняем сразу несколько действий:
# A. Устанавливаем статус "онлайн". (настройка Services.VK.SetOnline)
# B. Прочитываем сообщение в чате. (настройка Services.VK.WaitToType)
# B. Начинаем статус "печати".
#
# Сначала мы создаём список из API-вызовов для API execute.
execute_code = []

# Если разрешено, то устанавливаем статус "онлайн".
if await self.user.get_setting("Services.VK.SetOnline"):
execute_code.append("API.account.setOnline()")

# Если разрешено, то "прочитываем" сообщение, и начинаем "печатать".
wait_to_type = False
if await self.user.get_setting("Services.VK.WaitToType") and len(message_text) > 3:
execute_code.extend([
f"API.messages.markAsRead({{\"peer_id\": {peer_id}, \"mark_conversation_as_read\": 1}})",
f"API.messages.setActivity({{\"peer_id\": {peer_id}, \"type\": \"typing\"}})"
])
wait_to_type = True

# Вызываем несколько API-методов используя execute.
if wait_to_type:
await asyncio.sleep(1 if len(message_text) <= 15 else 2)
await self.set_online()

# Отправляем сообщение.
vk_message_id = await self.send_message(
Expand Down
6 changes: 1 addition & 5 deletions src/services/vk/telegram_handlers/this.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,7 @@ async def this_vk_convert_inline_handler(query: CallbackQuery, msg: Message, use
" • Реакции не поддерживаются.",
" • «Прочитать» сообщения можно через <code>/read</code>.",
" • Удалять сообщения можно только через <code>/delete</code>."
" • Собеседник не будет видеть Вашу печать."
]

if dialog.is_multiuser:
Expand All @@ -284,11 +285,6 @@ async def this_vk_convert_inline_handler(query: CallbackQuery, msg: Message, use
else:
docs_info.append(" • Вы никогда не появитесь «онлайн» ВКонтакте (см. {{Services.VK.SetOnline}}).")

if await telehooper_user.get_setting("Services.VK.WaitToType"):
docs_info.append(" • Бот будет «печатать» в ВК перед пересылкой Вашего сообщения (см. {{Services.VK.WaitToType}}).")
else:
docs_info.append(" • Собеседник не будет видеть Вашу печать (см. {{Services.VK.WaitToType}}).")

docs_info.append(f" • Другие ограничения и примечания можно прочитать <a href=\"{docs_url}\">здесь</a>.")

if (dialog.multiuser_count or 0) >= 3:
Expand Down
10 changes: 0 additions & 10 deletions src/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,6 @@
"VK": {
"Name": "ВКонтакте",

"WaitToType": {
"Name": "Печать перед отправкой",
"Documentation": (
"Включает автоматическое прочтение сообщения собеседника, а так же короткую задержку перед отправкой сообщения, во время которой Ваш собеседник видеть что Вы печатаете.\n"
"\n"
"Telegram-боты не могут увидеть то, как Вы печатаете, поэтому, выключив данную настройку, Ваш собеседник не будет видеть анимацию «пользователь печатает», но зато сообщения будут отправляться мгновенно."
),
"ButtonType": "bool",
"Default": False
},
"SetOnline": {
"Name": "Статус «онлайн»",
"Documentation": (
Expand Down

0 comments on commit 81e2cc4

Please sign in to comment.