Телеграм-бот автозамены текста на Python

10 000 руб. за проект
25 апреля 2023, 13:40 • 20 откликов • 125 просмотров
Присылаешь ему .doc или .docx - файл с текстом
- Бот делает проверку на расширение файла, если не .doc и не .docx пишет "Я не умею распознавать форматы отличные от .doc и .docx Смотрите как присылать мне файлы: *текстовая инструкция* + *видео-инструкция*"
- Текст и ссылки - должны быть выведены в отдельный файл конфига, чтобы я мог там что-либо исправить

Бот должен искать один текст, а затем менять его на другой текст
- Что на что менять в хранится в спец xls-файле (это идеальный вариант) или гугл-таблицах (тоже пойдёт) или например в sqlite базе (так себе, но тоже неплохо) в таком формате
- При этом бот сначала ищет первое слово, например "Красное" во всём документе и меняет его на "Зелёное", а затем так же делает со следующим словом
- Искать и заменять нужно без чувствительности к регистру, т.е. если в тексте будет "красное", а в таблице "Красное" - бот должен это найти и заменить
- Так же некоторые слова он должен менять на пробел, это в таблице так же будет забито, т.е. иными словами удалять некоторые слова
- Удаление лишних пробелов - либо в самом коде бота прописать в конце замену двух, трёх, четырёх, пяти пробелов на 1, либо в спец таблице я должен иметь возможность в поле "что менять" написать два пробела, а в графе "на что менять" написать один пробел и бот должен это заменить, так же с тремя, четырьмя и пятью пробелами

В конце бот должен сохранить получившийся файл с заменёнными словами и отправить обратно пользователю
- Т.е. на вход ему например подаётся .doc файл с текстом "Красное жёлтое чёрное", а он должен прислать файл с текстом "зелёное синее "
- Файл при этом должен сохранять своё название и добавлять в начале "ГГГГ-ММ-ДД - ЧЧ-мм-сс - ", а в конце "- автозамена"
- Т.е. скинули боту файл "Новый документ", а после обработки получили от него файл "2023-04-25 - 14-47 - Новый документ - автозамена"

Про сохранение:
- Все файлы поданные на вход должны хранится в папках с ''/id/in" с добавлением таймкода "ГГГГ-ММ-ДД - ЧЧ-мм-сс - "
- Т.е. скинули боту файл "Новый документ", он сложился в подпапку с id телеграма, например 111222333, затем в подпапку in с названием "2023-04-25 - 14-47 - Новый документ"
- Соответсвенно все обработанные файлы должны сложиться в подпапку c /id/out с добавлением таймкода в начало "ГГГГ-ММ-ДД - ЧЧ-мм-сс - " и добавлением в конец "- автозамена"
- Таким образом на каждого пользователя бота будет его папка с айдишником, в этой папке будут папка in - для входящих документов, и папка out - для исходящих документов

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

Про оплату:
- После скидывания 5ого документа бот должен требовать оплату
- Т.е. 5й документ всё ок, обрабатываем, когда скидывается боту 6й документ - бот присылает мессагу: "Для дайлнейшего использования бота нужно оплатить подписку" и там разные кнопочки, например: 500руб/мес, 1000руб/3мес, 3000руб/год
- Текст этой мессаги - тоже в файл конфига вынести, чтобы можно было менять без изменения кода бота
- Суммы кнопочек - тоже в файл конфига, чтобы можно было их менять без изменения кода бота
- Если у вас есть опыт в подключении оплаты к боту - дополнительно заплачу за консультацию по данному вопросу, где легче подключить, какие вообще сервисы есть и т.д.

Про статистику:
- Бот должен считать какой id отправил ему сколько документов и хранить это где-то в неком файле, это может быть sqlite, либо xls-файл
- Тут вы предложите свой вариант с обоснованием, предполагаю, что sqlite будет работать быстрее
- Так же этой же БД нужно вести у кого на сколько оформлена подписка, предполагаю, что после того как пользователь оплатит подписку, то в БД должна создаваться записать с ГГГГ-ММ-ДД с датой когда она закончится и если эта дата наступила, то пользователю опять выпдаётся сообщение другое "Ой а у вас похоже подписка закончилась, продлите для дальнейшего использования"
- Текст этой мессаги - в конфиг как обычно
- У меня должна быть возможность вручную проставить пользователю срок подписки по моему усмотрению

Промокоды:
- Пользователь может прислать боту некий промокод, который должен приписываться к этому пользоватлю
- Список промокодов - это либо отдельная БД, либо новый лист в существующей таблице
- Тут я еще не решил, как делать промокоды, выбираю между двумя вариантами
- Промокод даёт бесплатную подписку на неделю\месяц - это реализовать проще
- Промокод снижает стоимость подписки - это вообще можно реализовать? Чтобы если пользователь вбил промокод, то стоимость его подписки снизится например на 15%

Поддержка:
- Должна быть возможность пользователю написать через бота мне в качестве поддержки.
- Т.е. это должна быть либо команда /support либо отдельный бот для поддержки
- Пользователь присылает эту команду затем пишет свой вопрос
- Этот текст пересылается мне или какому-то другому id Телеграма, должна быть возможность менять пользователя, который на поддержке
- И если я отвечаю на его сообщение, то это сообщение уходит через бота пользователю

Дополнительно - Сайт с тем же функционалом
- Это оплачу отдельно, но пишу сразу, чтобы один и тот же код можно было использовать и там и там
- Одностраничный сайт, в тем же функционалом, чтобы им могли пользоваться люди, у которых нет телеги
- Там должна быть регистрация по мейлу и статистика такая же как в боте
- Должна быть возможность залогиниться через соц сети - ВК, ОК, Гугл и что там еще есть

Дополнительно - Выделение цветом
- Это так же оплачу отдельно
- В таблицу с конфигом добавляем столбец "Каким цветом красить"
- Выглядеть будет как-то так
- И бот после того как поменяет одно слово на другое СЛЕДУЮЩЕЕ за замененым словом должен выделять выбранным цвтом
- Если цвет не указан, то просто заменять и всё
- Т.е. например подаём файл с текстом: "Красное небо, жёлтое солнце, чёрное золото", на выходе получаем: "Зелёное небо (небо выделено красным цветом), синее солнце (солнце выделено жёлтым цветом), золото (выделено зелёным цветом) "
Файлы
Отзывы
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Заказчик
Егор немного задержал выполнение заказа, но в целом всё устроило
1 год назад