i229194964
@i229194964
Веб разработчик

Когда запускаю клиента вылетает из всех устройств?

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())
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы