Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.06.2020
Сообщений: 4
Telegram Bot

Сделать так чтобы те данные, которые отвечает пользователь боту, сохранялись в word

22.05.2022, 22:07. Показов 1982. Ответов 2

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, дописать телеграм бот на python.
Нужно сделать так чтобы те данные, которые отвечает пользователь боту, сохранялись в word.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
import telebot
 
from datetime import date
from telebot import types
 
from telegram.ext import Updater,CallbackQueryHandler,CommandHandler, CallbackContext
from telegram import  ReplyKeyboardRemove,ParseMode, Update
 
from telegram_bot_calendar import DetailedTelegramCalendar, LSTEP
 
import datetime
 
from docx import Document
from docx.shared import Inches
from docx.shared import Pt
 
# Создаем бота
bot = telebot.TeleBot('5368663020:AAHJ2wInuTdGDkhyzm8ZepAP4FZSukWo7zg')
 
age = 0
photo_list = []
 
 
# Команда start
@bot.message_handler(commands=["start"])
def start(message):
    mess = f'Привет, <u>{message.from_user.first_name} {message.from_user.last_name}</u>.\n Чтобы продолжить, ' \
           f'нажмите /choice.'
    bot.send_message(message.chat.id, mess, parse_mode='html')
 
 
@bot.message_handler(commands=["choice"])
def choice(message):
    # Добавляем кнопки
    keyboard = telebot.types.InlineKeyboardMarkup()
    keyboard.row(telebot.types.InlineKeyboardButton('Зарегистрироваться',
                                                    callback_data = 'Зарегистрироваться'))
    keyboard.row(telebot.types.InlineKeyboardButton('Составить отчет',
                                                    callback_data = 'Составить отчет'))
    bot.send_message(message.chat.id, 'Нажмите: \n\n1. "Зарегистрироваться" для заполнения своих данных на проверку.'
                                      '\n\n2. "Составить отчет" для введения инспекционных данных об организации.',
                     reply_markup = keyboard)
 
 
@bot.callback_query_handler(func = lambda call: True)
def callback_worker(call):
    if call.data == "Зарегистрироваться":
        send = bot.send_message(call.from_user.id, "Сколько Вам лет?")
        bot.register_next_step_handler(send, reg_age)
    elif call.data == "Составить отчет":
        bot.send_message(call.from_user.id, "✅ Будьте на месте в выбранную дату. \nПосмотреть режим работы Вы можете "
                                            "в приложении от РУП Белтелеком 'Мой город'. Более подробно "
                                            "на сайте [url]https://moygorod.by/[/url] или в приложении: "
                                            "\n\nAppStore - https://apps.apple.com/us/app/%D0%BC%D0%BE%D0%B9-%D0%B3%D0"
                                            "%BE%D1%80%D0%BE%D0%B4-%D0%BF%D0%BE%D0%BB%D0%BE%D1%86%D0%BA/id1542353498"
                                            "\n\nGooglePlay - https://play.google.com/store/apps/details?id=com."
                                            "beltelecom.mycity")
        bot.send_message(call.from_user.id, "Далее представлен план действий, которые нужно будет потом заполнить "
                                            "для отчета:"
                                            "\n\n1. Выполните все свои назначенные планы, когда будете на месте."
                                            "\n\n2. Обследуйте помещение и сделайте фотографии зала и нарушений "
                                            "чистоты. Проверьте места по чек-листу и отправьте фотографии, если "
                                            "обнаружите нарушения:\n   - плинтусы;\n   - пространства под мебелью "
                                            "(если таковое имеется);\n   - углы и полы вдоль плинтусов;"
                                            "\n   - огнетушители и подобная атрибутика;\n   - элементы освещения "
                                            "(провода, светильники);\n   - иные нарушения чистоты, которые "
                                            "только заметите."
                                            "\n\n3. Оцените чистоту помещения."
                                            "\n\n4. Оцените сервис:"
                                            "\n   - оцените дружелюбие сотрудников;\n   - Вас устроила "
                                            "скорость обслуживания?"
                                            "\n\n5. Сфотографируйте продукты, которые Вам предоставили. (Опционально)"
                                            "\n\n6. Оцените атмосферу помещения."
                                            "\n\n7. Поделитесь своими наблюдениями.")
        bot.send_message(call.from_user.id, "Нажмите /report, когда будет готовы заполнить отчет.")
 
def reg_age(message):
    global age
    while age == 0:
        try:
            age = int(message.text)
            if age >= 18:
                bot.send_message(message.from_user.id, "Напишите, пожалуйста, полное наименование организации и адрес, "
                                                       "куда Вы направляетесь:")
                print(document.paragraphs[0].text)
                bot.register_next_step_handler(message, place)
            else:
                bot.send_message(message.chat.id, "Простите, но Вы не можете участвовать, пока Вам не исполнится "
                                                  "18(")
                bot.send_message(message.chat.id, 'Всего доброго!')
 
        except Exception:
            bot.send_message(message.from_user.id, "Ошибка... \nДавайте заново) Нажмите еще раз 'Зарегистрироваться'")
 
def place(message):
    message.text = message.from_user.id
    bot.send_message(message.chat.id, 'Спасибо.')
 
 
@bot.message_handler(commands = ["report"])
def report(message):
    send = bot.send_message(message.from_user.id, 'Обследуйте помещение и сделайте фотографии зала и нарушений '
                                                  'чистоты. Проверьте места по чек-листу и отправьте фотографии, '
                                                  'если обнаружите нарушения:\n   - плинтусы;\n   - пространства '
                                                  'под мебелью (если таковое имеется);\n   - углы и полы вдоль '
                                                  'плинтусов;\n   - огнетушители и подобная атрибутика;\n   - элементы '
                                                  'освещения (провода, светильники);\n   - иные нарушения чистоты, '
                                                  'которые только заметите.')
    bot.register_next_step_handler(send, get_user_pics)
 
def get_user_pics(message):
    photo_id = message.photo[-1].file_id
    photo_file = bot.get_file(photo_id)
    bot.send_message(message.from_user.id, 'Фото получены. Продолжим...')
 
    send = bot.send_message(message.from_user.id, 'Опишите чистоту помещения.')
    bot.register_next_step_handler(send, get_message3)
 
def get_message3(message):
    message.text == message.from_user.id
    msg = bot.send_message(message.chat.id, 'Понял, давайте дальше)')
    bot.send_message(message.from_user.id, 'Опишите сервис:\n   - оцените дружелюбие сотрудников;'
                                            '\n   - Вас устроила скорость обслуживания?')
    bot.register_next_step_handler(msg, get_message4)
 
def get_message4(message):
    message.text = message.from_user.id
    msg = bot.send_message(message.chat.id, 'Остался совсем немного)')
    bot.send_message(message.from_user.id, 'Сфотографируйте продукты, которые Вам предоставили. (Опционально)'
                                           '\n\nНажмите /skip, чтобы пропустить этот шаг, т.к. к Вам он не относится.')
    if message.text == "/skip":
        bot.register_next_step_handler(msg, skip)
    elif message.text == message.from_user.id:
        bot.register_next_step_handler(msg, skip)
 
 
@bot.message_handler(commands=["skip"])
def skip(message):
    send = bot.send_message(message.from_user.id, 'Опишите атмосферу помещения.')
    bot.register_next_step_handler(send, get_message5)
 
def get_message5(message):
    message.text = message.from_user.id
    msg = bot.send_message(message.chat.id, 'Вы прекрасно справляетесь) Итак...')
    bot.send_message(message.from_user.id, 'Поделитесь своими наблюдениями.')
    bot.register_next_step_handler(msg, get_message6)
 
def get_message6(message):
    message.text = message.from_user.id
    bot.send_message(message.chat.id, 'Спасибо, что провели с нами проверку.')
    bot.send_message(message.chat.id, 'Обещенный бонус!  \n\nПо телефону 123 или по почте [email]info@main.beltelecom.by[/email] '
                                      'Вы сможете обратиться к консультанту, который поможет именно Вам совершенно '
                                      'БЕСПЛАТНО подобрать оптимальные условия по приобретению '
                                      'товаров или услуг в Белтелеком) Просто скажите, что Вы тайный инспектор.'
                                      '\n\nВсего Вам доброго!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2022, 22:07
Ответы с готовыми решениями:

Как сделать так, чтобы вводимые данные сохранялись?
Задание: Составить текст программы, позволяющей: – вводить с клавиатуры данные о товаре, поступающем в магазин (номер накладной,...

КАк сделать так, чтобы данные из программы сохранялись в делфи?
ОШИБКА В НАЗВАНИИ! ЧТОБЫ ДАННЫЕ СОХРАНИЛИСЬ В EXCEL! Программа готова, а вот как некоторые ее данные сохранить в экселле? И можно...

Как можно сделать так, чтобы данные сохранялись не в файл, а в бд?
Листинг А.1 – test.php &lt;?php $Size=$_POST; for ($i = 1; $i&lt;= $Size; $i++) { $fp = fopen('question.js', 'wt'); //...

2
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
22.05.2022, 22:24
Задача этого топика - понять как запросить данные у пользователя или как записать их в ворд?
0
0 / 0 / 0
Регистрация: 21.06.2020
Сообщений: 4
23.05.2022, 19:00  [ТС]
записать в ворд

я спрашиваю у пользователя в боте например "Сколько Вам лет?", он отвечает и этот ответ записывается в шаблон в ворд. и так со всем вводимыми данными
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2022, 19:00
Помогаю со студенческими работами здесь

Как сделать так, чтобы данные VB которые я ввожу текстбокс автоматически подгружались в Word
Помогите пожалуйста с так4им вопросом! Создал несколько форм в VB для заполнения(текс бокс), теперь хочу сделать так, чтобы данные VB...

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

Как сделать так что бы данные сохранялись? (Access)
Помогите !!! поместил на форме DataGrid, добавил базу данных access.mdb Всё открывается но вот внесённые данные не сохраняются в...

чтобы данные сохранялись в БД аксесе, как сделать?
делаю диплом, не разберусь с одной ерундой: как сделать чтоб данные из datagridview сохранялись в документе acces, и чтоб потом можно было...

модифицировать приложение из лабораторной работы № 3 так, чтобы данные о валютах считывались и сохранялись в файл
1. Реализовать процесс считывания данных из файла и занесение их в таблицу на форме (названия валют, курсы валют). При этом учитывать, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru