• Syn Bot /OSCOVA 发送应答(5)


    当Intent被调用时可以发送应答消息给bot的用户,当应答生成时,将产生ResponseReceived 事件。

    属性描述
    Text 文本消息
    Format 格式: HtmlMarkdownPlain 和 Xml.
    Hint 对于bot期望的下次用户的输入的提示
    Type 应答类型: message 或 other.

     简单应答

    [Expression("Hello Bot")]
    public void HelloBot(Context context, Result result)
    {
        result.SendResponse("Hello Bot developer!");
    }

    接收应答

    var bot = new OscovaBot();
    bot.MainUser.ResponseReceived += (o, args) =>
    {
        Console.WriteLine($"Bot: {args.Response.Text}");
    };

    HTML格式

    [Expression("Hello Bot")]
    public void HelloBot(Context context, Result result)
    {
        var response = new Response
        {
            Text = "<b>Hello bot developer!</b>",
            Format = ResponseFormat.Html
        };
    
        result.SendResponse(response);
    }

    延时的回复

    [Expression("Hello Bot")]
    public void HelloBot(Context context, Result result)
    {
    result.SendResponse("Hello Bot Developer!", TimeSpan.FromSeconds(2));
    result.SendResponse("Glad you are here.", TimeSpan.FromSeconds(5));
    }

    对于工作的定时响应,外部定时器实现是必不可少的

    var bot = new OscovaBot();
    var timer = new Timer { Interval = 1000 };
    
    timer.Elapsed += (sender, eventArgs) =>
    {
        bot.Timer.PerformTick();
    };
    
    timer.Start();
  • 相关阅读:
    程序的局部性原理2
    程序的局部性原理
    ROM
    学习Spring Security OAuth认证(一)-授权码模式
    mybatis*中DefaultVFS的logger乱码问题
    maven生命周期绑定要点
    spring security antMatchers相关内容
    JSTL
    什么是CSS hack?
    Java中获得当前静态类的类名
  • 原文地址:https://www.cnblogs.com/mrtiny/p/9081759.html
Copyright © 2020-2023  润新知