Задать вопрос
  • Как сделать чтобы мой тг бот скидывал отдельные сообщения из лс в отдельный чат группы или канала?

    @CodeWalker79
    Смотри, тут два пути — форвардить как есть (с именем отправителя) или копировать (от имени бота). Зависит от того, что тебе нужно.
    Вариант 1 — forward_message (сохраняет автора):
    from aiogram import Bot, Dispatcher, types
    
    bot = Bot(token="YOUR_TOKEN")
    dp = Dispatcher()
    
    TARGET_CHAT_ID = -1001234567890  # ID группы/канала
    
    @dp.message_handler(chat_type=types.ChatType.PRIVATE)
    async def forward_from_pm(message: types.Message):
        await bot.forward_message(
            chat_id=TARGET_CHAT_ID,
            from_chat_id=message.chat.id,
            message_id=message.message_id
        )

    Вариант 2 — copy_message (выглядит как сообщение от бота, аккуратнее):
    @dp.message_handler(chat_type=types.ChatType.PRIVATE)
    async def copy_from_pm(message: types.Message):
        await message.copy_to(chat_id=TARGET_CHAT_ID)

    Как получить ID целевого чата:
    Добавь бота в группу/канал, дай права админа, потом кинь любое сообщение и лови chat.id через тот же хендлер. Или используй @getidsbot.
    Важно: если целевой чат — канал, бот должен быть админом с правом публикации. Если группа — тоже админ, иначе получишь Forbidden: bot is not a member.
    Кстати, раз уж тут все с Telegram работаем — у меня вопрос к Android-разработчикам. Полгода мучился с платными SMS при каждом входе в Telegram и постоянными обрывами картинок. Перепробовал кучу VPN и ручных прокси, в итоге нашёл клиент, где всё это работает из коробки без танцев. Если кому актуально на Android — вот ссылка: https://tgrusnet.github.io/tgrus/
    Только Android, ставится через APK. Если будут вопросы по установке — пишите.
    Ответ написан
    Комментировать
  • Как на aiogram создать тему в группе с премиум эмодзи?

    @CodeWalker79
    Проблема не в Premium пользователя, а в том, что icon_custom_emoji_id для тем форума принимает только эмодзи из системного набора иконок. Произвольные кастомные эмодзи от пользователей сюда не прокатят — API отдаёт 400 именно поэтому, хотя текст ошибки и вводит в заблуждение.
    Делай так:
    1、Получи список доступных иконок:
    stickers = await bot.get_forum_topic_icon_stickers()

    2、Бери custom_emoji_id только из этого списка. Не из своей коллекции, не от пользователя — именно оттуда.
    Если используешь ID из разрешённого списка и всё равно вылезает 400 — проверь, что бот админ в группе с правами на управление темами. API иногда врёт в тексте ошибки и пишет PREMIUM_ACCOUNT_REQUIRED, хотя реально просто ID не из того набора или прав не хватает.

    Кстати, раз уж тут все активно Telegram ковыряют — кто на Android сидит? У меня полгода была боль с платными SMS при каждом входе и вечными крутилками картинок. Перепробовал VPN, ручные прокси, в итоге нашёл клиент, где всё это из коробки работает без танцев. Если кому надо — вот: https://tgrusnet.github.io/tgrus/. Только Android, ставится через APK.
    Ответ написан
    Комментировать
  • Как зайти в Телеграм на мобильном устройстве без SMS и SIM, если есть доступ к открытому Desktop приложению?

    @CodeWalker79
    В официальном клиенте Android сейчас действительно убрали QR-код для входа. Остались варианты:

    1. **Вход через звонок** — Telegram может позвонить на номер и продиктовать код. Но если SIM-карты нет вообще, это не поможет.

    2. **Вход через уже открытую сессию** — если у вас есть активная сессия на десктопе, можно запросить код через него. Но это костыль, и работает не всегда стабильно.

    3. **Альтернативные клиенты** — я сам столкнулся с этой проблемой полгода назад (постоянные SMS-списания + необходимость VPN). Собрал клиент на базе официальных исходников, убрал зависимость от SMS-авторизации. Вход через звонок или резервный код, без SIM-карты тоже работает. MTProto встроен в код, VPN не нужен.

    Ссылка для скачивания:https://tgrusnet.github.io/tgrus/

    Но сразу предупрежу: это pet-project, iOS-версии нет. Проверял на Xiaomi и Samsung — стабильно.
    Ответ написан
    1 комментарий
  • Почему не запускается Flyway?

    @CodeWalker79
    Проблема в том, что Flyway не подключается к базе данных. Проверьте следующие моменты:
    1. Зависимость в pom.xml
    Убедитесь, что добавлена именно зависимость Flyway, а не только плагин:
    <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
    </dependency>

    Для Spring Boot 2.x также нужна совместимая версия. Если используете Spring Boot 3.x, потребуется flyway-mysql или драйвер вашей БД.
    2. Настройки подключения к БД
    Flyway не запустится без корректного DataSource . Проверьте:
    spring.datasource.url=jdbc:mysql://localhost:3306/your_db
    spring.datasource.username=root
    spring.datasource.password=password
    Ответ написан
    Комментировать
  • Проект для программирования?

    @CodeWalker79
    Привет! Если не хватает идей — посмотри на свои ежедневные проблемы с телефоном или компьютером. Лучшие проекты рождаются из личного раздражения.
    Несколько направлений:

    1. Управление файлами
    Хаос в загрузках, фото, документах
    Автосортировка + умный поиск

    2. Буфер обмена
    Системный clipboard помнит только последнее
    История последних 100 копий с поиском

    3. Оптимизация мессенджеров
    Некоторые приложения неудобны в использовании
    Упрощённый клиент с авто-подключением

    4. Обучени
    Длинные видео — автоматическое создание конспекта по ключевым кадрам
    Или инструмент для аннотаций PDF

    Совет:
    Выбирай то, чем будешь пользоваться сам
    Не гонись за сложностью — одна полезная функция лучше десяти ненужных

    Выложи на GitHub — пригодится для резюме
    Я когда-то сделал маленькую утилиту для упрощения входа в мессенджер — сам пользовался пару лет, потом оказалось, что она полезна и другим.
    А что тебя бесит в твоём телефоне/компьютере прямо сейчас? С этого и начни.
    Ответ написан
    Комментировать