Вот как вы можете настроить свои команды добавления и удаления:
@bot.command()
async def add(ctx, args):
url_to_add = args.lower() + '\n'
with open('text.txt', 'a') as url_file:
url_file.write(url_to_add)
Команда добавления довольно проста. Сначала мы форматируем URL-адрес, отправленный пользователем, чтобы ничего не сломалось при его поиске. Затем мы открываем текстовый файл в режиме добавления (это означает, что мы изменяем / добавляем текст в файл). Наконец, мы просто записываем URL-адрес в файл. Вот и все, что касается команды добавления.
@bot.command()
async def remove(ctx, args):
url_to_remove = args.lower() + '\n'
with open("text.txt", 'r') as url_file:
urls = url_file.readlines()
replacement_urls = [url for url in urls if url_to_remove not in url]
with open('text.txt', 'w') as url_file:
url_file.truncate()
url_file.write(''.join(replacement_urls))
Команда удаления немного сложнее, но, тем не менее, проста. Сначала мы снова форматируем URL-адрес, предоставленный пользователем, чтобы он соответствовал тому, как мы сохранили его в файле. Затем мы открываем файл в режиме чтения и сохраняем содержимое файлов в списке под названием «urls». Затем мы используем понимание списка для создания нового списка URL-адресов, который включает все URL-адреса из файла, кроме удаляемого. Затем мы открываем текстовый файл в режиме записи, стираем содержимое, а затем записываем все исходные URL-адреса (кроме удаленного) обратно в файл в виде строки.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Это не самое лучшее эффективный способ сделать это. Этот метод вызовет ошибку, если размер текстового файла превышает объем оперативной памяти, доступной на машине, на которой размещен бот. Однако, если вы не планируете иметь большой текстовый файл, это самый простой способ выполнить sh вашу задачу.