Звоню с разногласиями, чтобы записать в файл. - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть скрипт, бот-диск, такой, что когда я пишу! Добавьте сюда --insert ссылку - это добавит текстовую строку ссылки в файле products.txt, а! Remove удалит существующую.
Проблема происходит, когда я пытаюсь что-то добавить, иногда это добавляет несколько строк одного и того же. Например,! Add www.google.com записывает три строки, иногда одну.
Вот мой код:

@bot.event
async def on_message(message):
    if message.author == bot.user: return
    author = message.author
    content = message.content
    channel = message.channel
    if "!add" in content:
        content = str(content)
        url = content.strip("!add")
        url = url.replace(" ", "")
        botmessage = "Added URL: " + url
        with open("products.txt", "a") as txtfile:
            txtfile.write(url+"\n")
        print(botmessage)
        await message.channel.send(botmessage)
    elif "!remove" in content:
        content = str(content)
        print(content)
        urls = content.split(" ")
        url = urls[1]
        print(url)
        txtfile = open("products.txt", "r")
        url_links = txtfile.readlines()
        txtfile.close()
        with open("products.txt", "w") as txt:
            for link in url_links:
                if url != link:
                    txt.write(link)
                else:
                    print("found it")
        botmessage = "Removed URL: " + url
        print("remove")
        await message.channel.send(botmessage)
...