У меня достаточно простая задача: есть скрипт, который активируется если прописать в начале сообщения, которое я отправил в ответ на сообщение другого пользователя в группе, определённый pattern (в моём случае ".gv"). Надо, чтобы скрипт, в свою очередь, отправил другое сообщение в ответ на ТО ЖЕ СООБЩЕНИЕ, на которое я отвечал ".gv бла-бла-бла" (бла-бла-бла -- условный пример).
Я попробовал это сделать:
await event.reply("что-то")
Но это "что-то", очевидно, написалось в ответ на сообщение ".gv бла-бла-бла", а не в ответ на сообщение, НА которое я изначально отвечал сообщением ".gv бла-бла-бла".
Также, по тому, что я нашёл в интернете, я попробовал:
await client.send_message('{}'.format(sender.username), "что-то")
Но в этом случае "что-то" отправлялось уже в личные сообщения для пользователя, на сообщение которого я изначально отвечал ".gv бла-бла-бла"; Мне же надо, чтобы "что-то" отправилось в ответ на сообщение, на которое я изначально отвечал ".gv бла-бла-бла" В ГРУППЕ, а не в личных сообщениях. В интернете или в документации telethon я не нашёл, как это сделать, поэтому прошу тех, кто понял, помочь мне.
Точный код, который я пробовал:
@client.on(events.NewMessage(outgoing=True, pattern='.gv')) #give
async def handler(event : events.NewMessage.Event):
print(event)
msg = event.message.message
print(msg)
if event.is_reply:
replied = await event.get_reply_message()
sender = replied.sender
split = msg.split(' ')
tempsplit = split[1]
tempsplit2 = tempsplit.replace('k', '000')
print('Обычн.: ' + tempsplit2)
gvnum = ceil(int(tempsplit2) / 0.85)
print('/0.85: ' + str(gvnum))
# await client.send_message('{}'.format(sender.username), 'дать ' + str(gvnum))
await event.reply('дать ' + str(gvnum))
Объяснение: в телеграме есть бот с вымышленной валютой, и когда я хочу перевести определённое кол-во этой валюты другому человеку, я должен прописать в ответ на любое сообщение этого человека "дать <кол-во>", но делать это только в той в группе, в которой, логично, есть этот бот, поэтому присылать "дать <кол-во>" человеку в личку не вариант. Но загвоздка перевода в том, что при нём снимается комиссия 15% (например "дать 1000" передаёт всего 850 ед. валюты), поэтому я захотел написать скрипт, которое разделит "то или иное число" после ".gv" на 0.85 , чтобы узнать, какое число надо написать после "дать ", чтобы вместе с комиссией перевелось то самое "то или иное число". Также, для автоматизации, мне надо чтобы скрипт сам отправил "дать <число/0.85>" в ответ на сообщение того человека, которому нужно перевести это число, но, как я и говорил, "дать <число/0.85>" отправлялось в ответ на ".gv ...", а не (...как я говорил...) в ответ на сообщение того человека, которому нужно перевести это число.
Постарался объяснить как мог. Прошу помочь тех, кто понял.