首页 > 解决方案 > 我怎么做才能让我的不和谐机器人按顺序提问和回答?

问题描述

我对编码非常陌生,并且正在努力了解如何使我的不和谐机器人(我通过 python 创建)响应不同的代码行。

我已经提出了一个初步的问题和答案,但是在那之后我无法让机器人回应任何事情。

例如,我的机器人将正确响应,直到它被要求检查/返回时间表区域。


def setup():
    return "Hello! Welcome to the timetable bot. What service would you like? (Timetable / Subjects / 
    Homework)"
#End of setup

global userState

def overheard(message, user):
    if "Timetable" in message:
        return timetableenquiry()
    elif "Homework" in message:
        return homeworkenquiry()
    elif "Subjects" in message:
        return subjectsenquiry()
    return "I'm sorry I don't understand that."

def timetableenquiry():
    return ("Okay. What would you like to do with your timetable? (Check / Back)")

def timetablecheck():
    if "Check" in message:
        print("Okay. You can check your timetable at: www.timetableaccess.com")


def homeworkenquiry():
    return ("Okay. What would you like to know about your homework?")

def subjectsenquiry():
    return ("Okay. What would you like to do with your subjects?")

如果不清楚我在问什么,我感谢任何帮助并道歉。

标签: pythondiscordbots

解决方案


您应该使用 Message.Content 来检测它,您还希望机器人实际输入 Discord CHANNEL。还要尝试添加前缀,这样机器人就不会随机输入。

看看这个:

import discord
import os

client = discord.Client()

@client.event
async def on_message(message): #Defines Message
  
  #If You Type TimeTable, And Role Requirement to Do So

  if message.content.startswith('-timetable'):
     await message.channel.send("Okay. What would you like to do with your timetable? (Check / Back)")
   
  elif message.content.startswith('-homework'):
     await message.channel.send("Okay. What would you like to know about your homework?")

  
  elif message.content.startswith('-subject'):
     await message.channel.send("Okay. What would you like to know about your subject?")

client.run(os.getenv('TOKEN')) 
#Reminder: Put Your Token in a .env File and Write TOKEN=YOUR TOKEN.

编辑:我忘记定义客户端,尝试使用更新的


推荐阅读