removal of tags
This commit is contained in:
47
bot.py
47
bot.py
@@ -6,7 +6,7 @@ from telethon import TelegramClient, events
|
|||||||
from telethon.tl.types import InputChannel
|
from telethon.tl.types import InputChannel
|
||||||
from telethon.errors import FloodWaitError
|
from telethon.errors import FloodWaitError
|
||||||
|
|
||||||
import asyncio, json, time, sys, yaml, os, time
|
import asyncio, json, time, sys, yaml, os, time, re
|
||||||
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
||||||
from datetime import (
|
from datetime import (
|
||||||
datetime,
|
datetime,
|
||||||
@@ -20,6 +20,14 @@ job_defaults = {
|
|||||||
'max_instances': 1
|
'max_instances': 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Regexp patterns to remove from group
|
||||||
|
patterns = [
|
||||||
|
'https:\/\/t.me\/\w*',
|
||||||
|
'@[Ww]hite[Aa]ction'
|
||||||
|
]
|
||||||
|
|
||||||
|
combined_patterns = r'|'.join(map(r'(?:{})'.format, patterns))
|
||||||
|
|
||||||
# Start Scheduler
|
# Start Scheduler
|
||||||
scheduler = AsyncIOScheduler(job_defaults=job_defaults)
|
scheduler = AsyncIOScheduler(job_defaults=job_defaults)
|
||||||
|
|
||||||
@@ -65,29 +73,38 @@ async def _indexer(client, config):
|
|||||||
|
|
||||||
path = await client.download_media(message.media, file='usermedia/', progress_callback=callback)
|
path = await client.download_media(message.media, file='usermedia/', progress_callback=callback)
|
||||||
if path is not None:
|
if path is not None:
|
||||||
logging.info(f'Sending file to {output_channel}.')
|
if message.text:
|
||||||
await client.send_file(
|
logging.info(f'Sending file to {output_channel}.')
|
||||||
output_channel,
|
txt = re.sub(combined_patterns, '', message.text)
|
||||||
path,
|
|
||||||
caption=message.text
|
await client.send_file(
|
||||||
)
|
output_channel,
|
||||||
|
path,
|
||||||
|
caption=txt
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
await client.send_file(
|
||||||
|
output_channel,
|
||||||
|
path
|
||||||
|
)
|
||||||
|
|
||||||
# Remove file after upload
|
# Remove file after upload
|
||||||
os.remove(path)
|
os.remove(path)
|
||||||
else:
|
elif message.text:
|
||||||
if message.text:
|
logging.info(f'Sending message to {output_channel}..')
|
||||||
logging.info(f'Sending message to {output_channel}..')
|
txt = re.sub(combined_patterns, '', message.text)
|
||||||
|
|
||||||
await client.send_message(
|
await client.send_message(
|
||||||
output_channel,
|
output_channel,
|
||||||
message.text
|
txt
|
||||||
)
|
)
|
||||||
elif message.text:
|
elif message.text:
|
||||||
logging.info(f'Sending message to {output_channel}.')
|
logging.info(f'Sending message to {output_channel}.')
|
||||||
|
txt = re.sub(combined_patterns, '', message.text)
|
||||||
|
|
||||||
await client.send_message(
|
await client.send_message(
|
||||||
output_channel,
|
output_channel,
|
||||||
message.text
|
txt
|
||||||
)
|
)
|
||||||
except FloodWaitError as e:
|
except FloodWaitError as e:
|
||||||
logging.error(f'Flood wait for {e.seconds} for _indexer.')
|
logging.error(f'Flood wait for {e.seconds} for _indexer.')
|
||||||
|
|||||||
Reference in New Issue
Block a user