Code Monkey home page Code Monkey logo

bus-eta-bot's People

Contributors

yi-jiayu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

phernoix

bus-eta-bot's Issues

Reimplement resend button

In Bus Eta Bot v2 there was a "Resend" button on eta messages which would cause the bot to resend the eta message as a new message, bumping it to the end of the conversation.

Bus Eta Bot v5

Backlog

  • Announcements for service disruptions
  • Scheduled ETA messages
  • Improved favourites
  • Automated, regular bus stop data updates
  • Remove appengine dependency

Switch to Bus Arrival API v2 before 31st Oct

The Bus Arrival API v1 endpoint will be removed on 31st October. We need to change over to the v2 endpoint and implement the missing functionality before that, and hopefully add some new features at the same time.

Switch from Travis CI to CircleCI for deployments

Travis CI has served Bus Eta Bot well for years, but with the recent intermittent timeouts on Travis, its recent acquisition, how far other services like Semaphore CI and CircleCI have come, it's time to experiment a little.

Missing bus services

Seems like data all is not giving all the bus eta timings any more?

Kenneth Lim:
Opp Cycle & Carriage (20059)
AYE
| Svc | Next |  2nd |  3rd |
|-----|------|------|------|
| 154 |    4 |   14 |   22 |
| 198 |   15 |   24 |    ? |
| 201 |    5 |   18 |   25 |
Showing 3 out of 3 services for this bus stop.

Last updated at 14 Sep 18 20:49 SGT

Last time:

Kenneth Lim:
Opp Cycle & Carriage (20059)
AYE
| Svc | Next |  2nd |  3rd |
|-----|------|------|------|
| 154 |    0 |    3 |   15 |
| 197 |    6 |   10 |   19 |
| 198 |    0 |    2 |    6 |
| 201 |    3 |   14 |   27 |
| 97  |    0 |    8 |   17 |
Showing 5 out of 5 services for this bus stop.

Last updated at 07 Dec 17 07:01 SGT

Bad Request error from Telegram Bot API when updating messages

When updating messages in response to a refresh callback query, if the updated message content is unchanged, the request to the Telegram Bot API editMessageText endpoint returns an error:

{
    "ok": false,
    "error_code": 400,
    "description": "Bad Request: message is not modified"
}

This does not affect the end user, since the answerCallbackQuery request still succeeds and the updated etas are the same, but perhaps the unnecessary editMessageText request could be skipped in such cases.

Unreadable etas with small screens or large text sizes

On smaller phones, or if a user's text size in Telegram is large enough, the table that etas are presented in may wrap and become unreadable:

Line wrap

There should be a way for users to fall back to the more compact eta layout without dividers in this case.

Update bus stop data

It looks like some bus stop information has been updated since the data used by Bus Eta Bot was populated, for example:

  {
    "BusStopCode": "56099",
    "RoadName": "Upp Thomson Rd",
-    "Description": "Opp Former Seletar Inst",
+    "Description": "Aft Springleaf Rd",
    "Latitude": 1.39606817759915,
    "Longitude": 103.8188299218487
  },
  {
    "BusStopCode": "92141",
    "RoadName": "East Coast Rd",
-    "Description": "Ocean Apts",
-    "Latitude": 1.30920026668367,
-    "Longitude": 103.91306896175426
+    "Description": "Nafa Arts Kindergarten",
+    "Latitude": 1.30939538245506,
+    "Longitude": 103.91428724575974
  },

It would be good to refresh this information on a regular basis, perhaps monthly.

Improve user onboarding flow

Currently, the bot responds to a /start command with a welcome message which teaches users how to get etas for a single bus stop and search for bus stops using an inline query. However, this does not showcase the other bot features and may be too much text at once. Maybe a multiple-step tutorial may be more effective.

Show bus load, wheelchair-accessibility and type

Version 2 of the DataMall Bus Arrival API now includes the type of the bus (whether it is a double or single decked or bendy), in addition to the bus load (seats available, standing available or limited standing) and whether the bus is wheelchair-accessible. This information could be useful for users.

Bus Eta Bot v4

Bus Eta Bot hasn't been updated in some time, but I was thinking of giving it some attention again soon. Here are some goals I have in mind for the next release:

  • Simplification
    • Remove unused features like group chat support (superseded by inline messages)
    • Massively reduce LOCs
  • Announcements
    • Mainly to inform users about Datamall outages, eg. during the recent F1
  • Bus routes information
    • Ever since the transition to the bus arrival API v2, Datamall does not show buses which aren't in service. It's finally time to include this missing data for bus stops.

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.