Giter Club home page Giter Club logo

linebot-operator-next's Introduction

linebot-operator-next

簡介

這是一個玩票性質的bot, 不做為商業用途, 亦不做為情報提供者, 只是提供一個介面用來學學linebot和結合其他服務用的.

部屬

  • 若只是要看本bot提供的服務, 可以跳過本章節
  • 本bot運行以spring boot為基礎, 需要能有運行java的環境
  • 請先了解Line message api, 為了能正常串接, 必須是一個要有SSL驗證的服務平台
  • App secure的設定在 resources/application.properties

就是個 spring boot app 而已, 不知道還可以打啥, 真的想部屬來玩但看不懂就直接問吧

操作

指令型

  1. 查詢所有指令
    /help
    !?
    
    • 指令型以開頭/作為觸發因子
    • 指令型通常包含純英數/的觸發與全形文字的觸發, 後者是方便於手機直接以中文鍵盤進行操作
    • 參數中有中括號[]表示者表示該參數為可有可無, 並非必須數入的文字
  2. 匯率查詢
    /exrate [幣別1數量] 幣別1 幣別2
    !匯率 [幣別1數量] 幣別1 幣別2
    
    • ex: /exrate jpy twd:計算目前日圓換台幣的匯率, /exrate 1000 twd jpy:計算目前1000台幣相當於多少日圓
    • 匯率資料是國際匯率, 請自行估算銀行換匯誤差, 資料來源: https://tw.rter.info/howto_currencyapi.php
  3. 骰骰子
    /roll 骰數d骰面 [骰數d骰面...]
    !骰 骰數d骰面 [骰數d骰面...]
    
    • ex: /roll 2d6:骰兩顆六面骰, /roll 1d6 2d4:丟一開六面骰跟兩顆四面骰, /roll 5d6+2:骰五顆六面骰且每顆骰終值+2
    • 為了避免運算異常或是伺服器負擔過重, 姑且有設定骰子最大值為100(次數與骰面), 運算式的部分則是爆了就只會給0
  4. 查當前油價
    /oil
    !油
    
  5. 算數學
    /calc 算式 [算式...]
    !算 算式 [算式...]
    
    • ex: /calc 1+1:算1+1, /calc 2*2 2/2
    • 支援的運算子:
      • + : 加
      • - : 減
      • * : 乘
      • / : 除
      • % : 取餘數
      • ( : 左括號
      • ) : 右括號
      • #{PI} : 常數-圓周率
      • #{E} : 常數-自然對數
    • 使用的計算引擎: http://jeval.sourceforge.net/
  6. 訂閱
    • 這是一個比較複雜的指令,主要目的是讓這個機器人能定時向你發送訊息

      發送的訊息可以是固定文字,也可以是目前這個機器人已經提供的功能`

    ---查詢---
    /sub
    !訂
    
    ---動作---
    /sub 動作 [動作參數]
    !訂 動作 [動作參數]
    
    ---訂閱---
    /sub 日期時間 時間間隔 訊息
    !訂 日期時間 時間間隔 訊息
    
    • 訂閱的功能根據參數數量區分為三種呼叫方式
      1. 查詢: 用以查詢目前已經訂閱的訊息
      2. 動作: 根據動作參數進行相對應的訂閱操作
        • delete, : 需要一個ID作為動作參數, 用以刪除特定訂閱的訊息

          ex: /sub delete 1
          ID為數字, 可以利用查詢功能查到

        • delete_all, 刪全部: 不需要動作參數, 用以刪除全部自己的訂閱

          ex: `/sub delete_all

      3. 訂閱: 讓機器人能在特定時間點之後, 每隔N秒鐘向你發送一次訊息

        日期時間指的是起始時間, 可以為過去時間, 格式yyyy-MM-ddTHH:ss, ex:2017-08-06T18:00
        600(10分鐘) <= N <= 86400(1天)
        ex: /sub 2017-08-06T18:00 600 /exrate jpy twd: 自2017年8月6日晚上6點後每隔10分鐘送出日幣對台幣匯率

    • 目前由於所使用的伺服器在半小時沒人說話後會進入待機模式, 待機狀態下是不能主動推送訊息的

      相對的如果在離開待機模式後(睡醒), 將會判斷是否有漏推送的訊息, 並嘗試推送

薇兒型

  1. 薇兒是另一個友人以C#撰寫的bot, 但由於兩個bot無法同時進入一個討論尋組, 因此以串接的方式呼叫
    • 語句規則: W:功能名:參數1:參數2...
    • 提供的服務尚待整理

語言型

  1. 語言型主要是針對對話內容關鍵字起反應, 目的是亂入對話提升存在感( ?
  2. 海龜湯詢問型
    • 句型: A不A[B]
    • ex: 是不是, 行不行, 可不可以, 恐不恐怖, 厲害不厲害
    • 只要對話中包含上述句型, 則自動以隨機數回答A, 不A, 不AB
    • 回答不A不AB的依據是利用語意分析達成, 目前訓練詞彙非常少, 可能會有判斷失準的情況, 歡迎回報有異常的回應
  3. 網址診斷型

linebot-operator-next's People

Contributors

sevenflanks avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.