Giter Club home page Giter Club logo

courseparser_bot's Introduction

TOC Project 2017

A telegram bot based on a finite state machine course parsing bot 利文韡 F74032162 Andrewli_bot 首先會先爬成大課程查詢的網頁(資訊系課程) 然後將資訊系的必選修分成大一大二大三大四 在依據使用者輸入去判斷要給哪個年級的資訊

Setup

Prerequisite

  • Python 3

Install Dependency

pip install -r requirements.txt

ROBOT

@Andrewli_bot

Secret Data

API_TOKEN and WEBHOOK_URL in app.py MUST be set to proper values. Otherwise, you might not be able to run your code.

Run Locally

You can either setup https server or using ngrok as a proxy.

ngrok would be used in the following instruction

ngrok http 5000

After that, ngrok would generate a https URL.

You should set WEBHOOK_URL (in app.py) to your-https-URL/hook.

Run the sever

python3 app.py

Finite State Machine

fsm

Usage

The initial state is set to user.

Every time user state is triggered to advance to another state, it will go_back to user state after the bot replies corresponding message.

  • user

  • comment

    • Input: 'comment'
      • Reply: "推薦課程...."
  • parse

    • Input: 'parse'
      • Reply: "parsing complete"
  • dummy

    • Input: any other string
      • Reply: "command: \ncomment\nparse"
  • temp

  • grade1

    • Input: "grade1"
      • Reply: "result..."
  • grade2

    • Input: "grade2"
      • Reply: "result..."
  • grade3

    • Input: "grade3"
      • Reply: "result..."
  • grade4

    • Input: "grade4"
      • Reply: "result..."
  • dummy2

    • Input: any other string
      • Reply: "choose command:\ngrade1\ngrade2\ngrade3\ngrade4\n"

Author

利文韡

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.