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