Ответы пользователя по тегу Telegram
  • Как настроить авторизацию в telegram боте?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Идея? Есть отличная оригинальная идея - немножко подучиться программировать на выбранном вами языке. Не искать карьеру разработчика ботов беззнания программирования, а именно подучить язык и основы алгоритмизации.
    А задача ваша решается просто. Начать надо с декомпозиции.
    При запуске бота вам нужно открыть этот текстовый файл и загрузить его контент в структуру, и, если не получилось, то создать пустую структуру.
    Если пользователь, нажавший у бота кнопку старт не найден в этой структуре, то бот должен запустить сценарий регистрации. Что вы под этим понимаете? Вопросы какие-то задать пользователю и сохранить ответы?
    При окончании регистрации нужно сохранить структуру в файл.

    С каким именно пунктом вам что-то не ясно?
    Если со всеми, то нужно учиться программировать,а ботов писать вам рано. Попробуйте взять учебник и читать по порядку. первый раз быстро и не останавливаясь, а второй раз вдумчиво и выполняя все задания.

    После этого у вас вот эти вот вопросы отпадут все.
    Ответ написан
    Комментировать
  • Есть ли возможность чтобы в группе автоматически отмечался человек в сообщениях в Телеграмме?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    нет
    Ответ написан
    Комментировать
  • Как отправить кубик с нужным мне значением?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А в чем проблема-то? Вы вообще можете эмоджи в сообщение отправить? Можете.
    Можете отправить конкретное эмоджи? Можете.
    Можете выбрать один символ из шести? Можете.
    В чем проблема?
    я искал способы как это реализовать и по итогу ничего не нашел

    Что именно искал? Какие запросы дела? Не нашел как отправить текст от имени бота? Или не нашел как отправить эмоджи? Такое ощущение, что вы искали готовое решение и даже тут не пытаетесь задавать конкретные вопросы.
    И что смешно, даже в этом виде ваш вопрос, адресованный, например ЧатуЖПТ4 позволит получить детальный ответ с примерами кода.
    Так в чем же проблема? Может стоило идти к фрилансерам?
    Ответ написан
    Комментировать
  • Можно ли узнать username человека по его id в телеграм?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    нет.
    Ну законно и добросовестно используя АПИ.
    Ответ написан
    Комментировать
  • Как воссоздать инлайн кнопки из базы данных?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Нужно написать код, который сделает инлайн кнопку на основе текста. Что тут непонятного? Всё ж очевидно.
    Ответ написан
  • Как решить ошибку TypeError?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ошибка тут F:\pythonProject\parcer_tg\parcer_functions.py
    Ответ написан
    Комментировать
  • Почему удаляет аккаунт телеграмм на python telethon?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Скорее всего вы применяете клиентское API телеграма не по назначению или вопреки лицензии. Например, вы, может быть, рассылаете спам, или скам, а может быть делаете что-то ещё, что противоречит добросовестному использованию сети.
    Конкретной причины, по которой вас блокируют вам никто скорее всего не скажет. В таких случаях самое эффективное - это максимальнео расплывчато описывать причины и критерии возможных блокировок, чтобы играясь с пороговыми критериями злоумышленники не могли подстроиться под ограничения.

    Скорее всего ограничения и критерии, по которым вашу деятельность пресекают, не заключаются в чем-то одном. Скорее всего критериев много и они не однозначно влияют на принятие решения о блокировке. Другими словами, если быть по ту сторону баррикад от вас, то причины блокировок нужно сделать максимально многофакторными, диверсифицированными, неявными и нечеткими. Где-то нужно даже вводить рандомизацию и отложенную блокировку, если вы предпринимаете серьёзные меры, чтобы ваш софт притворялся валидным штатным клиентом. В вашем же случае, видимо, паттерн использования протокола и АПИ выдаёт вас мгновенно.

    Подумайте чем ваш "клиент" телеграма отличается от добросовестно выполненного клиента для штатных целей? Может быть он не сохраняет контактов? Может быть коннекты идут из одной подсети и она уже "на особом счету"? Может быть На ваши сообщения много жаловались, и теперь отдельные специальные эвристики вылавливают клиентов, похожих по паттерну на ваши и банят их сразу же?

    Никто вам не скажет конкретных критериев. Никто не допустит, чтобы эти критерии были всегда неизменными и четкими. Это не эффективно для борьбы со спамерами.
    Ответ написан
    3 комментария
  • Откуда брать фильмы для телеграмм бота?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    можно ли как-то отправлять видео в телеграмм используя, например, ссылку на это видео?

    Можно. В соседнем ответе вам показали как. Но на деле это не получится воплотить по ряду причин.
    1. Телеграм не заинтересован в таком недобросовестно-паразитическом использовании своей платформы. Это огромная нагрузка на датацентры по трафику и объёму хранимых данных, которая очень сильно (в плохом смысле) масштабируется на число пользователей и доводит не целевое использование мессенджера до абсурда.
    2. Про кодеки и чанки, если брать поток из онлайн-кинотеатра, вам уже сказали. Тем более что онлайн кинотеатры тоже не заинтересованы делиться с вами своими данными, ведь вы не собираетесь через своего бота показывать их рекламу. Вы собираетесь только паразитировать на них, а это значит, что вам будут постоянно вставлять палки в колеса. Например, как написали выше, ограничивая скорость отдаваемого потока.
    3. Думаю вы не пройдёте по лимитам отправляемого медиаконтента через АПИ телеги.

    Очень наивный поход, в общем.

    Куда реалистичнее было бы раздавать так, скажем, аудиокниги.
    Но тут я бы тоже не прокачивал гигабайты через телегу, поскольку это по-любому будут блочить. Всё, что похоже на паразитическое использование платформы и что не бережно относится к ее ресурсам обречено на блокировку.

    Но аудиокниги можно искать на торрент-трекерах, кэшировать метаданные, формировать RSS-ленту в виде подкаста с файлами книги, но закачивать файлы только после первого их запроса.
    Тут можно пойти двумя путями:
    1. асинхронно открыть и держать открытым коннект с нулевой скоростью отдавая данные пока не получится скачать конкретный файл с торрентов полностью.
    2. Возвращать 503 или 504 ошибку намекая на временную недоступность ресурса, а файл поставить в очередь на закачку.

    В любом случае нужно будет правильно настроить предзагрузку эпизодов с торрентов, потому что если юзер послушал первую главу, то велика вероятность, что он скоро будет качать вторую и т.д.
    Также нужно грамотно настроить квоты, чтобы экономить свое хранилище. Там много бывает. стратегий инвалидации кэша и распинаться об этом сейчас нет смысла, поскольку, судя по вашим вопросам, вы не поймёте на данном этапе.

    Правильно вам посоветовали, проект с фильмами через телегу - это пока что дохлый номер. Даже если что-то удастся запустить, то вам это не окупится на данном этапе.

    Соберётесь делать такого бота для аудиокниг - пишите. Подскажу план работ.
    Ответ написан
    Комментировать
  • Многопользовательский телеграм бот для получения индивидуальных данных?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Если на этом сайте API предусматривает возможность массового получения указанных вами данных, то нужно воспользоваться этим API, иначе могут возникнуть проблемы с нарушением правил использования API.
    Вы не предоставили необходимых данных, чтобы понять как оптимально реализовать вашу задачу. Не ясно есть ли авторизация, разная ли она для каждого пользователя или нет, допустимо ли пользователю делиться своими учетными авторизационными данными с вашим ботом...
    Возможно в API будет какая-то защита от массового получения данных нештатным способом.
    В целом, если нет специальных методов, то вполне рабочий вариант, как вы написали, равномерно ходить по адресам и запрашивать обновления данных, сравнивать с прошлыми показателями и при изменениях отправлять сообщения
    Ответ написан
    Комментировать
  • Как сделать бот из обычного аккаунта телеграм?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    У Телеграма есть не только API для написания ботов, но и API для создания клиентов - приложений вроде TelegramDesktop. Ваш псевдобот должен притворяться приложением-клиентом, что однозначно запрещено правилами использования API и, по возможноссти, блокируется Телеграммом.
    Также у вашего клиента должен быть аккаунт, привязанный к уникальному номеру телефона.
    Ответ написан
  • Как работает кошелек https://t.me/CryptoBot?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Я так понял авторы кошелька честно-честно только подержат ваш денежки у себя для вашего же удобства. Вы их переведете сами на их кошелёчек, а они помогут удобненько ими пользоваться. Нет, конечно же они не исчезнут поработав немного на репутацию пока не наберется ощутимая сумма. Какой в этом интерес? =) Ну вы понимаете...
    Ответ написан
    21 комментарий
  • Как хранить информацию о пользователях телеграмм бота?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Пользуйтесь MongoDB.
    Датакласс свой сериализуйте не пиклом, а в json и его уже прямо в монгу сохраняйте.
    Будет и быстро и просто.
    Ответ написан
  • Почему не работает код?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Нет. не должен. Читайте что делает ваш код:
    if message.text == "А":  
            # сюда вы попадаете когда приходит сообщение. в тексте которого только "A"
            # Вы отправляете пользователю два текстовых сообщения:
            bot.send_message(message.chat.id, "Вы выбрали Зеленый")
            bot.send_message(message.chat.id, "Введите ставку в таком формате /stavka 123")
            # и тут же берёте строку, пришедшую в сообщении (а это буква "A", если вы забыли)
            # и пытаетесь заменить в этом однобуквенном тексте подстроку, которой там нет и не было:
            stavka = message.text.replace('/stavka', '').strip()
            # потом подвешиваете инерпретатор на 5 секунд:
            time.sleep(5)
            # и выводите букву "А" в терминал:
            print(stavka)

    Всё работает как написано.
    Ответ написан
  • Можно ли увидеть код бота если есть его уникальный ключ?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Нет. Нельзя. Бот - это программа, которая работает на компьютере, принадлежащем его хозяину. Телеграм передаёт лишь сообщения между ботом и теми, кто с этим ботом разговаривает.
    Если вы узнаете чей-то секретный токен от бота, то это никак не даст вам доступа к исходным кодам бота или комьпютеру, на котором этот бот запущен.
    Ответ написан
    Комментировать
  • Как сделать бот в Телеграм без приставки bot на конце?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Есть Telegram bot API - это для ботов. А есть Telegram client API - это для приложений, вполняющих функции клиентской стороны. То есть если вы задумаете написать свой клиент для телеграмма, то будете пользоваться этим API. Некоторые злоупотребляют правилами и делают ботов с использованием этого API, чтобы боты ритворялись реальными аккаунтами. За это, по идее, должны банить.
    Не надо делать таких ботов. Для чего вам?
    Ответ написан
    1 комментарий
  • Aiogram Message is not modified как исправить?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вы пытаетесь в цикле поменять текст сообщения на тот же самый текст.
    Протокол телеграмма не позволяет этого делать, потому что это бессмысленно.
    Вы можете:
    1) помнить предыдущий текст и сравнивать новый с ним, чтобы вызыватьредактирование только если текст изменился.
    2) Перехватывать и игнорировать MessageNotModified, если считаете, что эта ситуация будет редкой и лишний трафик на сервера телеги вас не беспокоят.
    3) Вы можете чисто логически не редактировать сообение, если исходные параметры его не поменялись.
    4) вы можете гарантированно менять исходные параметры сообщения, чтобы оно гарантированно изменило текст.

    Выбирайте решение на своё усмотрение. А в той второй ошибке, что вы привели в комментах, вы не учитываете, что счетчик у вас глобальный на уровне модуля и достуен во всех функциях модуля, но если вы делаете его присвоение в коде функции, то в ней появляется локальная одноименная переменная, которая перекрывает глобальную, но в конкретно этом случае вызывает ошибку, поскольку при первой итерации у вас локальная переменная еще не определена, хотя фактически объявлена.
    Вам нужно почитать как в питоне работают неймспейсы, как объявлять переменные в функции из глобального скоупа.
    Ответ написан
  • Telebot owm. Бот видит только 1 команду и опирается только на нее. Есть варианты решить данную проблему?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Знаете почему никто не хочет отвечать на ваш вопрос?
    Тут несколько причин. Сперва вы запостили код без форматирования. Вы не могли не заметить этого, но надолго оставили вопрос как есть. Это выглядит как неуважение к тем, кто мог бы ответить.
    Кроме того, прочитайте как вы сформулировали свой вопрос. Пришлось вникать, перечитывать текст несколько раз и и читать весь код, чтобы понять что вам надо. Неужели нельзя проще изложить?
    Третья причина - это отсутствие попытки решить проблему самостоятельно. Такое ощущение, что вы, как тут кто-то предположил уже, посмотрели какой-то видос и срисовали с ютуба кусочки кода, а они сходу не заработали. К черту попытки самостоятельно разобраться, да? Зачем нам отступать немного назад и пытаться разобраться сперва с базовыми вещами и более простыми примерами, верно? Вам надо сразу продуктъ написать! Сразу готовенькое.

    Давайте я вам дам, простите, непрошенный, совет как впредь решать такие проблемы.
    Упрощайте. Удалите из кода всё лишнее, оставьте минимум, который должен работать и если он не работает, то вы что-то не поняли на более ранних стадиях изучения предмета. Нет смысла разбираться в сложном, когда вы еще не понимаете простого. Вы удаляете ВСЁ лишнее: лишние импорты, лишние команды, лишние хендлеры. Оставляете базовый простой пример и пробуете. Не работает? Ищете мануал по своей библиотеке и там наверняка есть в точности такой пример, ведь он максимально простой. Сравните его со своим. В чем отличие?
    Думаю на этом этапе уже станет ясно.

    К примеру в вашем коде видно, что срабатывает только один хендлер на любой текст, но в коде именно так все и задекларировано. Любой текст - делаем приветствие. Если сообщение обработано, библиотека не задействует прочие хендлеры, даже если они тоже подходят.

    Но, повторюсь. Проблема глубже. Она не в хендлерах и не в декораторах, а в том, что надо сперва разбираться с простыми примерами, а потом переходить к более сложным. Учитесь читать документацию. Ролики в ютубе - плохой учитель. Успехов.
    Ответ написан
  • Код почему то запускаеться 5 раз хотя такого не должно быть в чем может быть проблема?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    А что вас удивляет? Все работает как написано.
    SQL-запрос вернул 5 записей, вы перебираете их циклом, в котором при первом проходе выполняется некий код с инвентарем, а на остальных четырех проходах i=1 и срабатывает негативная ветка, где печатается символ нуля.
    Судя по тому, как вы неправильно пользуетесь шаблонной строкой и какой вопрос задаете, вы далеки от программирования. Надо подучиться питну и основам алгоритмизации.
    А еще так подставлять параметры в запрос опасно, нужно передавать их отдельно в execute.
    Ответ написан
    1 комментарий