dokku-comp

This commit is contained in:
2023-09-11 23:04:53 +03:00
parent 4be2dc3a45
commit b9a98f1e56
25 changed files with 646 additions and 460 deletions

View File

@@ -1,51 +1,57 @@
import json
from bot.api import send_message, forward_message, delete_message, get_chat_administrators
from bot.api import (
send_message,
forward_message,
delete_message,
get_chat_administrators,
)
from bot.handlers.send_button import show_request_msg
from bot.utils.mention import userdata_extract
from bot.storage import storage, Profile
from bot.config import FEEDBACK_CHAT_ID
def handle_feedback(msg, state):
mid = msg['message_id']
cid = msg['chat']['id']
if msg['text'] == '/start':
r = send_message(cid, 'Напишите своё сообщение для администрации чата')
async def handle_feedback(msg, state):
mid = msg["message_id"]
cid = msg["chat"]["id"]
if msg["text"] == "/start":
r = await send_message(cid, "Напишите своё сообщение для администрации чата")
print(r)
elif state.is_talking(uid):
r = await forward_message(cid, mid, state.talking[uid])
print(r)
state.aho(uid)
else:
uid = msg['from']['id']
if state.is_talking(uid):
r = forward_message(cid, mid, state.talking[uid])
print(r)
state.aho(uid)
else:
r = forward_message(cid, mid, FEEDBACK_CHAT_ID)
print(r)
support_msg_id = r['result']['message_id']
# сохранение айди сообщения в приватной переписке с ботом
storage.set(f'fbk-{support_msg_id}', json.dumps({
"author_id": msg["from"]["id"],
"message_id": mid,
"chat_id": cid
}))
r = await forward_message(cid, mid, FEEDBACK_CHAT_ID)
print(r)
support_msg_id = r["result"]["message_id"]
# сохранение айди сообщения в приватной переписке с ботом
storage.set(
f"fbk-{support_msg_id}",
json.dumps(
{"author_id": msg["from"]["id"], "message_id": mid, "chat_id": cid}
),
)
def handle_answer(msg):
answered_msg = msg['reply_to_message']
r = get_chat_administrators(msg['chat']['id'])
async def handle_answer(msg):
answered_msg = msg["reply_to_message"]
r = await get_chat_administrators(msg["chat"]["id"])
print(r)
admins = []
for a in r['result']:
admins.append(a['user']['id'])
if answered_msg['from']['is_bot'] and msg['from']['id'] in admins:
support_msg_id = str(answered_msg['message_id'])
for a in r["result"]:
admins.append(a["user"]["id"])
if answered_msg["from"]["is_bot"] and msg["from"]["id"] in admins:
support_msg_id = str(answered_msg["message_id"])
# получение сохраненного информации о сообщении для ответа
stored_feedback = storage.get(f'fbk-{support_msg_id}')
stored_feedback = storage.get(f"fbk-{support_msg_id}")
if stored_feedback:
print('handle an answer from feedback group')
print("handle an answer from feedback group")
stored_feedback = json.loads(stored_feedback)
r = send_message(f'{stored_feedback["chat_id"]}', msg['text'], reply_to=stored_feedback["message_id"])
r = await send_message(
f'{stored_feedback["chat_id"]}',
msg["text"],
reply_to=stored_feedback["message_id"],
)
print(r)