import asyncio
from telethon.sync import TelegramClient
from telethon.tl.functions.messages import SendMessageRequest
import random
api_id = '21938106'
api_hash = '65e2742ad4426f8a3f1fef98d622aaf0'
phone_number = '89647405657'
session_name = 'my_session'
async def main():
client = TelegramClient(session_name, api_id, api_hash)
# Подключаемся к файлу сессии или создаем новый, если файла нет
await client.connect()
# Проверяем, авторизован ли пользователь
if not await client.is_user_authorized():
# Запрашиваем код подтверждения
await client.send_code_request(phone_number)
try:
# Вводим код подтверждения
code = input('Введите код подтверждения: ')
await client.sign_in(phone_number, code)
except Exception as e:
print(f"Ошибка при вводе кода подтверждения: {e}")
return
print("User authorized")
else:
print("User already authorized")
print("Client connected")
# Отправляем приветственное сообщение
await client.send_message('me', 'Привет, я подключился!')
# Цикл ожидания новых сообщений
async for message in client.iter_messages('me'):
if message.text:
print(f"Received message: {message.text}")
await respond_to_message(client, message)
async def respond_to_message(client, message):
# Генерируем 20 случайных ответов
responses = [
'Привет!',
'Как дела?',
'Я занят',
'Пока!',
'Как жизнь?',
'Спасибо за сообщение!',
'Это интересно!',
'Что нового?',
'Да?',
'Нет!',
'Ура!',
'Ого!',
'Круто!',
'Не могу поверить!',
'Поздравляю!',
'Почему?',
'Когда?',
'Где?',
'Как?'
]
# Выбираем случайный ответ
response = random.choice(responses)
print(f"Responding with: {response}")
# Отправляем ответ
await client(SendMessageRequest(
peer='me',
message=response
))
# Ожидаем 30 секунд перед отправкой следующего сообщения
await asyncio.sleep(30)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())