干杯,我在java中测试了gupshup示例,下面是gupshup文档:https://www.gupshup.io/developer/docs/bot-platform/guide/gupshup-bot-library-for-java
我在文档的第6步中遇到了一个问题。当我发送图像、文件或建立连接时(使用'proxy myBotName‘命令),机器人会响应我,但是当我向它发送像'hello’(这是我的问题)这样的正常消息时,它不会响应我。这是在加载项目原型时生成的类,它与文档中看到的类相同:
import io.gupshup.developer.annotations.OnEvent;
import io.gupshup.developer.annotations.OnFile;
import io.gupshup.developer.annotations.OnHttpEndPointRequest;
import io.gupshup.developer.annotations.OnImage;
import io.gupshup.developer.annotations.OnMessage;
import io.gupshup.developer.bot.context.BotContext;
import io.gupshup.developer.bot.input.EventInput;
import io.gupshup.developer.bot.input.FileInput;
import io.gupshup.developer.bot.input.HttpEndPointRequestInput;
import io.gupshup.developer.bot.input.ImageInput;
import io.gupshup.developer.bot.input.MessageInput;
/**
* @author Abhishek Nama
*/
public class Bot {
@OnMessage
public void msgHandler(MessageInput input, BotContext context) {
context.logger.log("In message handler - " + input.getMessage());
context.sendResponse(input.getMessage());
}
@OnEvent
public void eventHandler(EventInput input, BotContext context) {
context.logger.log("In event handler - " + input.getMessage());
context.sendResponse(input.getMessage());
}
@OnImage
public void imgHandler(ImageInput input, BotContext context) {
context.logger.log("In image handler - " + input.getMessage());
context.sendResponse(input.getMessage());
}
@OnFile
public void fileHandler(FileInput input, BotContext context) {
context.logger.log("In file handler - " + input.getMessage());
context.sendResponse(input.getMessage());
}
@OnHttpEndPointRequest
public void httpEndPointRequestHandler(HttpEndPointRequestInput input, BotContext context) {
context.logger.log("In http end point request handler - " + input.params.toString());
context.sendResponse(input.params.toString());
}
}我将聊天的截图留给bot,在这里可以看到它响应连接(检测到一个事件)和图像,但不响应正常的消息。
发布于 2022-07-21 14:14:21
原因是它对正常消息没有响应是因为io.gupshup.developer.util.Constants类:
public static final String TYPE_MSG = "text";
// public static final String TYPE_MSG = "msg";在此之前,它被分配为msg值。如果我们将其更改为text,它应该可以正常工作。
https://stackoverflow.com/questions/70684414
复制相似问题