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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Положим, у вас есть ряд определенных сообщения, значит у вас будет примерно так:
    Если входящее сообщение входит в список определенных, отвечаем сообщением, определенным для определенных; иначе отвечаем сообщением, специально определенным для неопределенных сообщений.

    ЕВПОЧЯ.
    Ответ написан
    Комментировать
  • Как вставить фото через ссылку в телеграме не отображая ссылки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Посмотрите тут
    Тут показано, как получить объект изображения из URL при помощи библиотеки PIL. Когда будете с PIL разбираться, поищите тут по сайту есть много вопросов о том, как с ним бороться.

    В этом примере используется отправка объекта по URL в телеграм.
    Об это подробнее почитайте тут

    Но у вас в коде написано bot.send_message(…)
    bot это очевидно экземпляр класса, а .send_message(…) его метод. Очевидно, внутри этих класса и метода спрятаны механизмы отправки, подобные описанным выше во второй ссылке.

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

    Тогда у вас будет два варианта:
    Вы обнаружите, что в вашем боте всё прекрасно и осталось лишь правильно передать объект изображения, тогда смотрите первую ссылку.
    Вы обнаружите, что в вашем боте надо дописать специальный метод для отправки именно таких объектов, тогда дописываете на основе первой ссылки с учетом сведений из второй ссылки.
    Также имеет смысл почитать API телеграм, там могут быть какие-то уточнения относительно сведений по ссылкам, может уже что-то поменяли.
    Ответ написан
    Комментировать
  • Как убрать из телеграма истории?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Купить Телеграм, поставить задачу разработчикам выпилить истории из Телеграм.
    Ответ написан
    6 комментариев
  • Как привязать разный текст к разным сессиям телеграмма?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вам надо открыть для себя чудесный мир структур данных, итераторов, сериализаторов/десериализаторов, возможно также реляционных баз данных, классов и ООП. Ну и асинхронщину изучить, раз уж вы ее пытаетесь использовать.

    Вам придется перепроектировать свою программу, малой кровью тут не обойтись. Хорошо было бы, если бы вы до переделки разобрались бы с ООП, это сильно вам потом сократило бы силы и время на переделки и доделки.
    Но сходу, с налёту это не изучается. Без понимания структур данных и работы с ними вам не уйти далеко. Сейчас вы как инженер, которому задали рассчитать и спроектировать конструкцию, а он даже умножать не умеет, только складывать.
    Ответ написан
  • Как обойти первоначальную авторизацию через терминал при создании TelegramClienta (telethon)?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В простейшем случае делают так:
    Одна функция (регистрации) вызывает другую (получения кода) а другая функция возвращается полученный код по return.
    def get_code():
        code = input('code, please:')
        return code
    
    def authorise():
        reg_code = get_code()
        print(f'received code: {reg_code}')
    
    authorise()

    Заметки на полях
    В вашем случае в коде вижу и FSM, и хранение каких-то данных в уникальных JSON, и всякое… тут по-хорошему вы, как автор кода, представляющий структуру и отношения между объектами, должен спроектировать свою программу и если не получается, приносить сюда уже конкретную проблему, что не получается при реализации, а не вот это.
    Кроме того, вопрос популярный, и вы сначала обязаны поискать самостоятельно.


    Как бы я сделал, зная то, что видно из фрагментов кода?
    Первое, что приходит в голову, это хранение в JSON
    раз у нас есть уникальные JSON, относящиеся каждый к своему аккаунту, почему бы не сделать там соотвествующий ключ и через него не передавать относящееся к соответствующему аккаунту значение? Изначально пусть None, периодически проверять его значение, по получении ключа пишем туда значение, если не None - завершаем регистрацию, используя это значение, после использования опять выставить None.

    Но это так… первое, что пришло в голову. Тут есть много нюансов. Во-первых, возможно блокирование JSON-файлов и асинхронная гонка, соответственно надо сочинять какую-нибудь синхронизацию (а тут можно начудить так, что потом не распутать); во-вторых, не все хостинги поддерживают хранение созданных файлов; в-третьих, для этого придуманы Redis, in-memory SQLite и т.п.


    Есть варианты с глобальной переменной-словарем, есть с БД, наверное есть и с FSM (я ее вообще не знаю, поэтому не могу советовать, но раз там есть метод set, то надо смотреть внимательно, может уже там всё предусмотрено).
    Ответ написан
    Комментировать
  • Как можно реализовать групповой чат бот в телеграме на python?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Судя по результатам, ваша деятельность по созданию бота будет состоять из груды вопросов на все доступные ресурсы.
    Вы не смогли ни в поиск, ни в прочтение документации. П.2.2 документации гласит:
    Перед тем как задать вопрос пользователь Сервиса обязан:

    2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос. Специально для этого талантливые IT-специалисты создали и развивают поисковые системы Яндекс и Google.

    Поэтому ответ:
    никакая библиотека вам не поможет. 
    Никак не делать ботов.
    Ответ написан
    Комментировать
  • Создаю сессию через Api, почему сразу удаляют telegram аккаунт?

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Для этого придуманы классы. Делаете базовый класс «категория сферическая в вакууме», от него наследуются остальные категории. То же и с позициями - класс «базовая позиция», от него - все остальные позиции.
    Таким образом у вас будет скелет, на который можно натягивать нужные «шкурки».
    А чтобы указать, какие именно шкурки, вам надо сделать для каждого класса банальную таблицу, где каждому объекту (строке) указано, с какими параметрами использовать класс для создания экземпляра, где его хранить, как идентифицировать, к какому множеству он относится и всё такое. Удобно в базе данных делать.
    Фактически, класс с его атрибутами в программе должен быть отражением таблицы в базе, со всеми её полями.
    Сделать и наполнить таблицу и затем работать с нею через класс намного проще, чем каждый экземпляр «выпиливать лобзиком».
    Ответ написан
    Комментировать
  • Как можно реализовать при запросе местоположения в телеграм боте исключить у пользователя выбирать вручную любую точку на карте?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Приделать датчик движения, моторчик и линейку металлическую. Как руку протянет к карте - линейкой по рукам!
    Ответ написан
    1 комментарий
  • Создал бота переводчика, как сделать так, чтобы он присылал перевод и предлагал его озвучить, то есть отправить голосовое сообщение?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Ну какой тут ответ возможен? Запрограммируйте желаемое поведение бота, если что-то конкретное не получится - приходите с конкретным вопросом.
    Ответ написан
    Комментировать
  • Как сохранить шаблон сообщения при отправке телеграм ботом?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Проблема в том, что в консоли шрифт моноширинный, а в телеграме - нет.
    Ответ написан
    2 комментария
  • Как создать базу данных для пагинации в Telegram-боте?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    как она должна выглядеть, чтобы сработал этот код?
    она должна выглядеть, как список или кортеж.
    Ответ написан
    Комментировать
  • Как обслуживать юзеров по очереди телебот?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Проблема в этой строке:
    global user_id
    Вам надо построить код так, чтобы не использовать global.
    Ответ написан
    2 комментария
  • Как правильно делать рассылку сообщений через telethon?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Пользователям, с которыми у вас не было диалога, не надо отправлять сообщения вовсе.

    Если вы хотите отправлять им регулярные рассылки, сделайте группу «моя очень всем полезная рассылка» и кто туда подпишется, те и будут получать ваши сообщения. А другим это и не нужно. Другим такая рассылка - спам, а п.5.5 Регламента запрещает тут вопросы о том, как спамить.
    Ответ написан
    Комментировать
  • Как убрать скобки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Попробуйте bot.send_message(message.chat.id, '@' + bd[0])
    Ответ написан
    4 комментария
  • Как при отсутствии интернета, перезапустить код(телеграмPyTelegramBot)?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    while True:
        try:
            start_my_bot()
        except НазваниеОшибки as e:
            print(e)
            try:
                stop_my_bot()
            except:
                pass
            time.sleep(10)
    Ответ написан
    2 комментария
  • Вывод случайного значения из бд?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вывод случайного значения из бд?

    Нет. См.п.3.6
    Ответ написан
    1 комментарий
  • Как создать свой личный автопостинт в телеграме?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Как создать свой личный автопостинт в телеграме?

    1648368759_29-kartinkof-club-p-mem-khochesh-stat-programmistom-32.jpg
    Ответ написан
    Комментировать
  • Ошибка в отправке фото в telegram-боте?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Эта конструкция выглядит нерабочей.
    open(random.choice(r'C:\путь к папке\images\*'), 'rb')

    open ожидает путь к файлу. А random.choice ожидает список или множество. А r'C:\путь к папке\images\*' это строка. random.choice в лучшем случае выберет элемент строки (символ) и передаст его на вход open. Open не сможет открыть файл с именем, которое есть случайный символ из строки.

    Вам надо сначала при помощи os начитать список файлов, передать его на вход random.choice и затем результат передать на вход open.
    Ответ написан
    1 комментарий
  • Bot.message_handler ошибка команды?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Bot.message_handler ошибка команды?

    Да, ошибка команды.
    Ответ написан