Загрузка...

Как сделать бота в тг для выдачи временных почт?

Тема в разделе Тематические вопросы создана пользователем цветастик Среда в 23:44. 2 просмотра

Загрузка...
  1. цветастик
    цветастик Автор темы Среда в 23:44 Слив киски, лью трафик - https://lolz.live/threads/8508268/ 2107 11 ноя 2024
    Код какой ни-будь готовый для тг бота
    Вот у меня один есть но кнопка выдачи почты не работает api какой-то не такой, можете в тг отписать пожалуйста <3
    from aiogram import Bot, Dispatcher, types, F
    from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, ReplyKeyboardMarkup, KeyboardButton
    from aiogram.filters import Command
    import asyncio
    import aiohttp
    import json

    API_TOKEN = 'ВАШ ТОКЕН'
    onesecmail = 'https://mailsac.com/api/'

    bot = Bot(token=API_TOKEN)
    dp = Dispatcher()

    user_emails = {}

    def get_main_keyboard():
    keyboard = ReplyKeyboardMarkup(
    keyboard=[
    [KeyboardButton(text="📧 Получить новую почту")],
    [KeyboardButton(text="📬 Проверить почту")],
    [KeyboardButton(text="📋 Мой email")]
    ],
    resize_keyboard=True
    )
    return keyboard

    @dp.message(Command('start'))
    async def start_cmd(message: types.Message):
    await message.answer(
    "Приветствую вас в боте для создания временных почт!\n"
    "Используйте кнопки ниже для управления:",
    reply_markup=get_main_keyboard()
    )

    @dp.message(F.text == "📧 Получить новую почту")
    async def get_temp_mail(message: types.Message):
    async with aiohttp.ClientSession() as session:
    async with session.get(f'{onesecmail}?action=genRandomMailbox&count=1') as response:
    email = (await response.json())[0]
    user_emails[message.from_user.id] = email

    await message.answer(
    f"✉ Ваш новый временный email:\n`{email}`\n\n"
    "Используйте кнопку «📬 Проверить почту» для проверки входящих сообщений",
    parse_mode="Markdown"
    )

    @dp.message(F.text == "📋 Мой email")
    async def show_current_email(message: types.Message):
    user_id = message.from_user.id
    if user_id not in user_emails:
    await message.answer(
    "❌ У вас пока нет временной почты.\n"
    "Нажмите «📧 Получить новую почту» чтобы создать почтовый ящик."
    )
    return

    await message.answer(
    f"📋 Ваш текущий email:\n`{user_emails[user_id]}`",
    parse_mode="Markdown"
    )

    @dp.message(F.text == "📬 Проверить почту")
    async def check_mail(message: types.Message):
    user_id = message.from_user.id
    if user_id not in user_emails:
    await message.answer(
    "❌ Сначала получите временную почту!\n"
    "Нажмите «📧 Получить новую почту»"
    )
    return

    email = user_emails[user_id]
    username, domain = email.split('@')

    async with aiohttp.ClientSession() as session:
    async with session.get(
    f'{onesecmail}?action=getMessages&login={username}&domain={domain}'
    ) as response:
    messages = await response.json()

    if not messages:
    await message.answer("📭 Входящих сообщений нет")
    return

    for msg in messages:
    keyboard = InlineKeyboardMarkup(inline_keyboard=[
    [InlineKeyboardButton(
    text="📄 Читать сообщение",
    callback_data=f"read_msg_{msg['id']}"
    )]
    ])

    await message.answer(
    f"📬 Новое сообщение:\n"
    f"От: {msg['from']}\n"
    f"Тема: {msg['subject']}\n"
    f"Дата: {msg['date']}",
    reply_markup=keyboard
    )

    @dp.callback_query(F.data.startswith("read_msg_"))
    async def read_message(callback: types.CallbackQuery):
    msg_id = callback.data.split('_')[2]
    user_id = callback.from_user.id
    email = user_emails[user_id]
    username, domain = email.split('@')

    async with aiohttp.ClientSession() as session:
    async with session.get(
    f'{onesecmail}?action=readMessage&login={username}&domain={domain}&id={msg_id}'
    ) as response:
    msg_data = await response.json()

    await callback.message.answer(
    f"📩 Сообщение:\n\n"
    f"От: {msg_data['from']}\n"
    f"Тема: {msg_data['subject']}\n"
    f"Дата: {msg_data['date']}\n"
    f"Текст:\n\n{msg_data['textBody']}",
    parse_mode="HTML"
    )

    await callback.answer()

    async def main():
    await dp.start_polling(bot)

    if __name__ == '__main__':
    asyncio.run(main())
     
  2. 3645383
    3645383 Четверг в 10:31 :uphand: маняу 4328 6 ноя 2020
    38 строка, метода genRandomMailbox нет в апи, нужно искать случайную почту на их доменах и выдавать её.
     
    1. Посмотреть предыдущие комментарии (2)
    2. 3645383
      бля ну примерно так, домен вроде у них 1 только, метод с доменами для кастомных доменов твоих только
      Четверг в 11:47 Изменено
    3. цветастик Автор темы
      3645383, бля я тупая, не шарю в кодах, чисто хочу готовый код :)
    4. 3645383
      цветастик, другой сайт смотри, должны быть в паблике такие боты, там не трудно
Top
JavaScript error: