【发布时间】:2021-10-05 15:04:36
【问题描述】:
if message.content.startswith("*run"):
ticker = message.content[5:]
try:
df = exchange.fetch_ohlcv(ticker)
await message.channel.send('Read Command: will send message if long or short opportunity arises!')
valid = True
except:
await message.channel.send('Invalid ticker')
if valid == True:
bars = exchange.fetch_ohlcv(ticker, timeframe='5m', limit=210)
df = pd.DataFrame(bars, columns=['time','high', 'low', 'open','close', 'volume'])
close = df.iloc[-1]['close']
while valid == True:
if message.content == "*stop":
valid = False
trade = strat1(ticker)
上面的代码是一个不和谐的机器人,我和一个朋友正在为一个业余项目工作。我的问题出在代码的最后几行,
while valid == True:
if message.content == "*stop":
valid = False:
当用户在 discord 中输入 *run (ticker) 时,代码会搜索数据以查看该ticker 是否有效,然后根据响应运行一个循环。在那个循环中,我希望用户可以选择停止它而不必完全关闭机器人,但我似乎无法让它注册 *stop 命令。每次我运行它时,它都会完全超越该命令。所以,如果有人知道如何解决这个问题,请告诉我。
感谢您的阅读。
【问题讨论】:
标签: python loops discord discord.py bots