import sys
import os
from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QVBoxLayout,
QLabel, QLineEdit, QTextEdit, QListWidget, QMessageBox)
from PyQt5.QtGui import QFont
from telethon.sync import TelegramClient
from telethon.sessions import StringSession
import asyncio
# Sabit API bilgileri (kendi bilgilerinle değiştir!)
API_ID = 12345678
API_HASH = 'your_api_hash_here'
class TelegramBotSimple(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Telegram Basit Mesaj Botu")
self.setGeometry(400, 150, 500, 400)
self.clients = []
self.initUI()
def initUI(self):
layout = QVBoxLayout()
font = QFont("Segoe UI", 10)
self.phone_input = QLineEdit()
self.phone_input.setPlaceholderText("Telefon numarası (örn: +905xxxxxxxxx)")
self.phone_input.setFont(font)
self.add_account_button = QPushButton("Hesap Ekle")
self.add_account_button.clicked.connect(self.add_account)
self.account_list = QListWidget()
self.group_input = QLineEdit()
self.group_input.setPlaceholderText("Grup kullanıcı adı (örn: @grupadi)")
self.group_input.setFont(font)
self.message_input = QTextEdit()
self.message_input.setPlaceholderText("Gönderilecek mesajı yazın")
self.message_input.setFont(font)
self.send_button = QPushButton("Mesajı Gönder")
self.send_button.clicked.connect(self.send_message_to_group)
layout.addWidget(QLabel("Telefon numarası girerek hesap ekleyin:"))
layout.addWidget(self.phone_input)
layout.addWidget(self.add_account_button)
layout.addWidget(QLabel("Ekli Hesaplar:"))
layout.addWidget(self.account_list)
layout.addWidget(QLabel("Grup kullanıcı adı:"))
layout.addWidget(self.group_input)
layout.addWidget(QLabel("Mesaj içeriği:"))
layout.addWidget(self.message_input)
layout.addWidget(self.send_button)
self.setLayout(layout)
def add_account(self):
phone = self.phone_input.text()
if not phone:
QMessageBox.warning(self, "Eksik Bilgi", "Lütfen telefon numarasını girin.")
return
session_name = phone.replace('+', '').replace(' ', '')
try:
client = TelegramClient(session_name, API_ID, API_HASH)
client.start(phone=lambda: phone)
self.clients.append(client)
self.account_list.addItem(f"{phone} (Bağlandı)")
QMessageBox.information(self, "Başarılı", f"{phone} başarıyla eklendi.")
except Exception as e:
QMessageBox.critical(self, "Hata", str(e))
def send_message_to_group(self):
group = self.group_input.text()
message = self.message_input.toPlainText()
if not group or not message:
QMessageBox.warning(self, "Eksik Bilgi", "Grup ve mesaj içeriği boş olamaz.")
return
async def send_all():
for client in self.clients:
try:
await client.send_message(group, message)
except Exception as e:
print(f"Hata: {e}")
asyncio.run(send_all())
QMessageBox.information(self, "Başarılı", "Mesaj tüm hesaplarla gönderildi.")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = TelegramBotSimple()
window.show()
sys.exit(app.exec_())