Telegramda bir kanala yada gruba gelen mesajları başka bir gruba yönlendirmek için aşağıdaki adımları uygulayabilirsiniz.
Öncelikle mesajları yönlendireceğiniz telegram hesabı için API kodlarını (api_id,api_hash ) buradan almanız gerekiyor.
Sonra Buradan channel_id.py ve forward.py dosyalarını indirebilir yada içeriğini kendi bilgisayarınızda kopyala yapıştır ile oluşturabilirsiniz.
Birazcık editlenmiş hali aşağıdadır.
channel_id.py (bu script ile bot olarak kullanacağımız hesabın üyesi olduğu kanalların chat_id sini almamız gerekiyor.)
from telethon import TelegramClient, events
import asyncio
api_id = 'xxxx'
api_hash = 'xxxxx'
client = TelegramClient('none', api_id, api_hash)
@client.on(events.NewMessage)
async def handler(event):
async for dialog in client.iter_dialogs():
if dialog.is_channel:
print(f'{dialog.id}:{dialog.title}')
client.start()
client.run_until_disconnected()
forward.py Mesaj yönlendirmesini yapacak olan script:
import asyncio
from telethon import TelegramClient, events
#-100117365xxxx:A KANAL
#-100164216xxxx:B GRUP
#-100126874xxxx:C GRUP
#Bu kanala mesaj gelince
reciedID = -100117365xxxx
reciedTitle = "A KANALI"
#Bu gruba yaz
sendGrp = -100164216xxxx
sendGrpTitle = 'B Grubu'
api_id = 'xxxx'
api_hash = 'xxxxx'
client = TelegramClient('none', api_id, api_hash)
@client.on(events.NewMessage)
async def handler(event):
chat = await event.get_chat()
chat_id = event.chat_id
print(chat_id)
if chat_id == reciedID :
print(reciedTitle + ' mesaj var')
await client.send_message(sendGrp, event.raw_text)
print(sendGrpTitle + ' yonlendirilecek')
client.start()
client.run_until_disconnected()
Son olarak da yukarıdaki kodların çalışması için bilgisayarınıza python kütüphanelerini indirmeniz / güncellemeniz gerekiyor.
sudo apt update
sudo apt install python3-pip
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade telethon
daha sonra channel_id.py dosyasının içine api_id ve api_hash değerlerini yazıp botun üyesi olduğu grup ve kanalların chat_id sini almamız gerekiyor. Sonrasında forward.py dosyasını ihtiyacımıza göre chat_id kısımlarını özelleştirerek mesaj yönlendirmesini gerçekleştirebiliriz.
Bonus:
#Linux de screen komutları: #Yeni session: screen -S session_name #Kapatma: screen -X -S session_id.session_name quit #Oturuma bağlanma: screen -a -r session_id.session_name #mevcut screen den ayrılmak CTRL + a + d