Ответы пользователя по тегу Боты
  • Сохранение пользовательского ввода в список (pyTelegramBotAPI)?

    vera_ira
    @vera_ira
    Делаю приложение по изучению Иврит (Python Kotlin)
    Для получения информация используется метод getUpdates.
    Если необходимо информацию о всех запросах и всех пользователях сохранять, понадобятся базы данных https://python-scripts.com/database
    Ответ написан
    Комментировать
  • Почему не работает телеграмм бот при использовании schedule?

    vera_ira
    @vera_ira Автор вопроса
    Делаю приложение по изучению Иврит (Python Kotlin)
    Вот такой вариант заработал. Многопоточность и модуль threading помогли.

    import schedule
    import time
    import threading
    
    def job():
        print("I'm working...")
    
    schedule.every(1).minutes.do(job)
    
    def go():
        while 1:
            schedule.run_pending()
            time.sleep(1)
    
    t = threading.Thread(target=go, name="тест")
    t.start()
    
    @bot.message_handler(commands=['info'])
    def handle_text(message):
        answer = 'БЛА-БЛА-БЛА.'
        bot.send_message(message.chat.id, answer)
    
    if __name__ == '__main__':
        bot.polling(none_stop=True, interval=0)
    Ответ написан
    Комментировать
  • Удаление нескольких сообщений бота Telegram. Как реализовать?

    vera_ira
    @vera_ira
    Делаю приложение по изучению Иврит (Python Kotlin)
    Я собираю нужные данные в историю запросов через json. И там где это необходимо достаю данные и использую..

    for_info = { 
            "message.message_id": message.message_id,
            "info_bu":{
                "status_s": status_s,
                "namber_b": namber_b,
                "id_answers": id_answers_links
            }
        }
    info_story = json.load(open("story.json"))
    info_story.append(for_info) 
    with open("story.json", "w") as file:
            json.dump(info_story, file, ensure_ascii=True)
    Ответ написан
    Комментировать
  • Как в InlineKeyboard вложить 1 ,2 или 0 кнопок?

    vera_ira
    @vera_ira Автор вопроса
    Делаю приложение по изучению Иврит (Python Kotlin)
    Решила задачу примерно так. До запуска функции скрипт определяет кол-во необходимых кнопок и передает данные в функцию для формирования кнопок. Если кнопок 0, то функция не запускается.
    Если знаете решение короче, дайте знать. Спасибо!

    if ts != 0:
        if ts != 0 and tts != 0:
            key = make_batton_imper(message, ts, tts, add_buttons="all")
        elif ts != 0 and tts == 0:
            key = make_batton_imper(message, ts, tts, add_buttons="pass")
        answer = "бла-бла-бла с кнопками"
        bot.send_message(message.chat.id, answer, reply_markup=key, parse_mode='Markdown')
    else:
        answer = "бла-бла-бла без кнопок" 
        bot.send_message_text(message.chat.id, answer, parse_mode='Markdown') 
            
    def make_batton_imper(message, ts, tts, add_buttons):
        key = telebot.types.InlineKeyboardMarkup(row_width=2) 
        data_but = "id_"+str(ts)
        but_i = telebot.types.InlineKeyboardButton(text=" + 1", callback_data=data_but)
        data_but_p = "id_"+str(tts)
        but_py = telebot.types.InlineKeyboardButton(text=" + 2", callback_data=data_but_p)
        if add_buttons == "pass":
             key.add(but_py)
        elif add_buttons == "all":
             key.row(but_i, but_py)
        return key
    Ответ написан
    Комментировать
  • Как в callback_data внести данные кроме формата string?

    vera_ira
    @vera_ira Автор вопроса
    Делаю приложение по изучению Иврит (Python Kotlin)
    json помог решить задачу. Пришлось создать файл json и тута вносить всю историю по всем запросам юзера.
    В callback_data внесён только идентификатор по которому из json файла скрипт достает нужные данные (списки, словари, ссылки и др.)

    Жаль, что все это не передать напрямую в callback_data :-(
    Ответ написан
    Комментировать
  • Как исправить ошибки в боте?

    vera_ira
    @vera_ira Автор вопроса
    Делаю приложение по изучению Иврит (Python Kotlin)
    VPN решил вопрос.
    Ответ написан
    2 комментария
  • Как работает bot.edit_message_text в python telegram bot?

    vera_ira
    @vera_ira Автор вопроса
    Делаю приложение по изучению Иврит (Python Kotlin)
    Решение нашла:
    bot.edit_message_text работает только на изменение уже существующего сообщения, поэтому логично, что его стоит помещать только в @bot.callback_query_handler.
    Ответ написан
    Комментировать
  • Как можно научить Телеграм бота что бы бот пересылал сообщения от юзера на мой телеграм?

    vera_ira
    @vera_ira
    Делаю приложение по изучению Иврит (Python Kotlin)
    Вот самый очевидный вариант. Пишешь функцию и вызываешь, где удобно. Перед этим в константы внесите свой ID чата (my_chat_id).

    def log (message):
        msg_to_me=str("Сообщение от: "+ message.from_user.first_name+" ID: "+str(message.from_user.id)+ "\nТекст: "+ message.text)
        bot.send_message(constants.my_chat_id, msg_to_me)


    Вот такие ответы от бота будут приходить тебе:
    Сообщение от: Myza ID: 000000000000
    Текст: Привет! Ты самый лучший бот на свете....
    Ответ написан