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

Как создать чат-бота в Telegram, который будет отправлять ссылки из текстового файла и одновременно удалять отправленные ссылки из этого файла?
  • 1 апреля 2024 г. 20:19
Ответы на вопрос 2
Чтобы настроить бота в Telegram для отправки по одной строке из текстового документа и удаления ее после отправки, вы можете использовать следующий код на Python с использованием библиотеки Telebot:

```python
import telebot

bot = telebot.TeleBot("YOUR_API_TOKEN")

# Открытие и чтение текстового файла
with open("file.txt", "r") as file:
    lines = file.readlines()

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, "Нажмите на кнопку 'Отправить', чтобы отправить следующую строку из файла")

@bot.message_handler(commands=['send'])
def send_message(message):
    if lines:
        bot.send_message(message.chat.id, lines[0])
        lines.pop(0)  # Удаляем отправленную строку из списка
    else:
        bot.send_message(message.chat.id, "Файл пуст")

bot.polling()
```

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

Текстовый файл не самый удачный выбор для хранения данных.
Для удаления одной строки из текста нужно прочитать весь файл в массив строк или список.
Удалить из массива строку и записать его обратно.
можно поступить проще.
открываете один файл на чтение и другой на запись.
читаете из первого строку, если номер строки не равень нужной, то записать.
закрываете файлы.
переименовать временный (выходной) в исходный.

Стоит подумать о блокировках, чтобы при нескольких паралельных вызовах бота файл не портился
Похожие вопросы