![](/img/trans.png)
[英]Value Error: Invalid literal invalid literal for int() with base 10:3,5
[英]Invalid literal for value with base 10
我正在制作一個 discord.py 機器人,按照教程,這是我的代碼 -
import discord
import os
import requests
import json
import random
from replit import db
client = discord.Client()
intents = discord.Intents.all()
#database func
def update_encouragement(encouraging_message):
if "encouragements" in db.keys():
encouragements = db["encouragements"]
encouragements.append(encouraging_message)
db["encouragements"] = encouragements
else:
db["encouragements"] = [encouraging_message]
def delete_encouragements(index):
encouragements = db["encouragements"]
if len(encouragements) > index:
del encouragements[index]
db ["encouragements"] = encouragements
#api requests
def get_quote():
response = requests.get("http://zenquotes.io/api/random")
json_data = json.loads(response.text)
quote = json_data[0]['q'] + "\n -" + json_data[0]['a']
return quote
#user-made quotes ----
sad_words = ["sad","unhappy","bad","miserable","depressed"]
starter_encouragement = [
"You can do it!",
"Hang in there!",
"Its okay to feel sad",
"Tommorow is a mystery, Today is a gift."
]
#clients and events-----
@client.event
async def on_ready():
print('{0.user}'.format(client) + ' has successfully logged in.')
@client.event
async def on_message(message):
if message.author == client.user:
return
msg = message.content
if msg.startswith('.ltt help'):
embedVar = discord.Embed(title="Linus Tech Tips Commands", description="Prefix - `.ltt` | Commands!", color=0x00ff00)
embedVar.add_field(name="Help", value="Type `.ltt help` to get help on commands!", inline=False)
embedVar.add_field(name="Inspire", value="`ltt inspire` to get inspirational quotes!", inline=False)
await message.channel.send(embed=embedVar)
if msg.startswith('.ltt inspire'):
quote = get_quote()
await message.channel.send(quote)
options = starter_encouragement
if "encouragements" in db.keys():
#options = options.append(db["encouragements"])
options.extend(db["encouragements"][:])
if any(word in msg for word in sad_words):
await message.channel.send(random.choice(starter_encouragement))
if msg.startswith(".ltt new"):
encouraging_message = msg.split(".ltt new ",1) [1]
update_encouragement(encouraging_message)
await message.channel.send("New encouraging message added")
if msg.startswith(".ltt del"):
encouragements = []
if "encouragements" in db.keys():
index = int(msg.split('.ltt del',1)[1])
delete_encouragements(index)
encouragements = db["encouragements"]
await message.channel.send(encouragements)
async def on_member_join(member):
await member.send('Welcome to Linus Tech Tips, check out the merch at https://lttstore.com')
client.run(os.getenv('TOKEN'))
即使在搜索了很多之后我也沒有找到解決方案,解決方案說 add float to int 給了我這個錯誤 -
index = int(float(msg.split('.ltt del',1)[1])) #added
當我執行它時會發生什么?
該代碼應該刪除“鼓勵”,這是在您鍵入.ltt new
時分配給 discord 消息的字符串值。 但是,它不會刪除它,有時可能會說ObservedList(value=[])
而在教程中它說["Added Encourage message 1", "Added Encourage message 2"]
其中Added Encourage message 1
是消息存儲在數據庫中。
注意:我使用 repli
另一個注意事項:不要關閉問題,說它的重復導致其他解決方案都不起作用。
確保消息不包含逗號、空格或字符。 (它應該只包含 int 或 float)
可以通過下面的例子來理解:-
msg = ".ltt del 92.091" #Make sure that Your msg/command value should be in this format
print(int(float(msg.split('.ltt del',1)[1])))
Output 將是:-
92
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.