Port tl plugin to bots
parent
dd49e13fbf
commit
b97d1649a4
|
@ -0,0 +1 @@
|
||||||
|
../stdplugins/tl.py
|
|
@ -12,7 +12,7 @@ import mimetypes
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from telethon import events, helpers, types
|
from telethon import helpers, types
|
||||||
|
|
||||||
|
|
||||||
mimetypes.add_type('audio/mpeg', '.borg+tts')
|
mimetypes.add_type('audio/mpeg', '.borg+tts')
|
||||||
|
@ -308,11 +308,11 @@ class Translator:
|
||||||
translator = Translator()
|
translator = Translator()
|
||||||
|
|
||||||
|
|
||||||
@borg.on(events.NewMessage(pattern=r"\.tl", outgoing=True))
|
@borg.on(borg.cmd(r"tl"))
|
||||||
async def _(event):
|
async def _(event):
|
||||||
if event.is_reply:
|
if event.is_reply:
|
||||||
text = (await event.get_reply_message()).raw_text
|
text = (await event.get_reply_message()).raw_text
|
||||||
else:
|
elif not borg.me.bot:
|
||||||
text = ''
|
text = ''
|
||||||
started = False
|
started = False
|
||||||
async for m in borg.iter_messages(event.chat_id):
|
async for m in borg.iter_messages(event.chat_id):
|
||||||
|
@ -326,14 +326,18 @@ async def _(event):
|
||||||
text = m.raw_text + '\n' + text
|
text = m.raw_text + '\n' + text
|
||||||
else:
|
else:
|
||||||
text = m.raw_text + ' ' + text
|
text = m.raw_text + ' ' + text
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
|
||||||
translated = await translator.translate(text.strip())
|
translated = await translator.translate(text.strip())
|
||||||
await event.edit('translation: ' + translated, parse_mode=None)
|
action = event.edit if not borg.me.bot else event.respond
|
||||||
|
await action('translation: ' + translated, parse_mode=None)
|
||||||
|
|
||||||
|
|
||||||
@borg.on(events.NewMessage(pattern=r"\.tts", outgoing=True))
|
@borg.on(borg.cmd(r"tts"))
|
||||||
async def _(event):
|
async def _(event):
|
||||||
await event.delete()
|
if not borg.me.bot:
|
||||||
|
await event.delete()
|
||||||
|
|
||||||
ts = event.raw_text.split(maxsplit=1)
|
ts = event.raw_text.split(maxsplit=1)
|
||||||
text = None if len(ts) < 2 else ts[1]
|
text = None if len(ts) < 2 else ts[1]
|
||||||
|
@ -349,7 +353,7 @@ async def _(event):
|
||||||
await borg.send_file(
|
await borg.send_file(
|
||||||
event.chat_id,
|
event.chat_id,
|
||||||
file,
|
file,
|
||||||
reply_to=event.reply_to_msg_id,
|
reply_to=event.reply_to_msg_id if not borg.me.bot else None,
|
||||||
attributes=[types.DocumentAttributeAudio(
|
attributes=[types.DocumentAttributeAudio(
|
||||||
duration=0,
|
duration=0,
|
||||||
voice=True
|
voice=True
|
||||||
|
|
|
@ -110,6 +110,17 @@ class Uniborg(TelegramClient):
|
||||||
|
|
||||||
return fut
|
return fut
|
||||||
|
|
||||||
|
def cmd(self, pattern):
|
||||||
|
if not self.me.bot:
|
||||||
|
return telethon.events.NewMessage(
|
||||||
|
outgoing=True,
|
||||||
|
pattern=fr'^\.{pattern}$'
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
return telethon.events.NewMessage(
|
||||||
|
pattern=fr'^\/{pattern}$'
|
||||||
|
)
|
||||||
|
|
||||||
def admin_cmd(self, pattern):
|
def admin_cmd(self, pattern):
|
||||||
if not self.me.bot:
|
if not self.me.bot:
|
||||||
return telethon.events.NewMessage(
|
return telethon.events.NewMessage(
|
||||||
|
|
Reference in New Issue