PikaBot

@Pikachuchubot can be found on Telegram!


For list of commands, please use "/commands".


PikaBot Development Blog

Last Updated on: 25 September 2022

PikaBot Latest Version: V0.9.220925.b010

|25| 2022 September Updates

Version 0.10.220925.b010 Update

Server

  • Updated python-telegram-bot to V13.14.
  • Updated python runtime.

Changes

  • Updated Attributions and About.

|24| 2022 August Updates

Version 0.10 Update

Version 0.10.220826.b006 Update

Server

  • Switched hosting server.

Version 0.10.220821.b005 Update

Server

  • Upgraded Heroku Stack.

New Features

  • New game - "Rock Paper Scissors"

Improvements

  • Playing games with expired game sessions will now return an error.

Version 0.9.220818.53 Update

Server

  • Updated Python runtime.

Improvements

  • /math command should now return a reply including either an error or an echo of the user's message.
  • /anime command will now return error messages.

Fixes

  • Sending /anime command returns nothing.

Version 0.9.220817.42 Update (Patch)

Patch

  • Patched a vulnerability in /math command. (Found by Cat)

[Aug 17] Security Vulnerability Notice:

A vulnerability in “/math” command has been found and patched in Version 0.9.220817.42 update. No sensitive user information was exposed. However, the bot token was accidentally exposed, together with the server log.

|23| 2022 June Updates

Version 0.9.220608.40 Update

Server

  • Updated Python runtime and relevant server-side items.

Fixes

  • “/covidsg” & “/covidmy” commands: Aligned with updated API.

|22| 2022 April Updates

Version 0.9.220413.35 Update

Server

  • Updated Python runtime and relevant server-side items.

New Features

  • Tictactoe game now supports Game Sessions.

|21| 2022 February Updates

Version 0.9.220221.15 Update

New Features

  • Added “Game Sessions” to the High-Low game.
  • Added “Games Commands” under Help section command.

Fixes

  • Fixed Tictactoe game interfering with High-Low game.

Version 0.9.220220.10 Update

Server

  • Updated python-telegram-bot to V13.11.

New Features

  • New command “/choose”.
  • New game - “High Low”. (/highlow or /hl)

Improvements

  • Synchronized Inline Keyboards across commands that uses Inline Keyboards.
  • Added a help section for “/anime” command.

Changes

  • Replaced “Community” & “Dormitory” to “Locally Transmitted” in “/covidsg” command.

Know Issues

  • Tictactoe game interferes with High-Low game.

|20| 2022 January Updates

Version 0.9.220124.04 Update

[Server]

  • Updated python-telegram-bot to V13.10.
  • Updated Python runtime and relevant server items.

[Changes]

  • Updated and fixed attribution formatting.
  • Removal of “/tips” commands in the list of commands (/commands).

|19| 2021 December Updates

Version 0.9 Update - Games

Version 0.9.211216.03 Update

[Improvements]

  • PSI Command: Now accepts specific reading. Example: “/psi east” will only display the PSI reading on the east side.

[Changes]

  • Updated Attributions.

[Fixes]

  • PSI Command: Fixed Central PSI reading the same as West PSI reading.

[Deprecation]

  • Help Pages Commands (/help2,/help3,/help4,/help5): With the new Inline Keyboard buttons available in the /help command, these commands (/help2,/help3,/help4,/help5) will be deprecated.

Version 0.9.211215.02 Update

[New Features]

  • New command - “/anime”: Shows picture of waifu.

[Improvements]

  • Tic-tac-toe: PikaBot may now begin the round first.
  • Tic-tac-toe: The result of the match will be shown after completion.
  • Tic-tac-toe: Selecting a slot that has been filled will prompt the player to pick another spot.
  • Tic-tac-toe: Clearer announcing of the winner.

[Fixes]

  • Tic-tac-toe: Fixed getting a draw despite winning.
  • Tic-tac-toe: Fixed player (playing as Circle [O]) gets considered as lost despite completing a row earlier.
  • Tic-tac-toe: Fixed older game sessions interfering with newer game sessions.

Version 0.9.211212.01 Update

[New Features]

  • Added a Tictactoe game.
  • Added a Searching game.

[Fixes]

  • Fixed issues relating to Inline Keyboards breaking.

Version 0.8 Update - Cleaning Up

Version 0.8.211211.02 Update

[Fixes]

  • Fixed some bugs.

Version 0.8.211210.01 Update

[Server]

  • Updated python-telegram-bot to the latest version.

[New Features]

  • Added Inline Keyboards.

[Changes]

  • Updated Attributions and About.
  • Code Cleanups.
  • Remove “/tips” command as it no longer serves any purpose.

Version 0.7.211208.11 Update

[Server]

  • Updated Python runtime and relevant server items.

[Changes]

  • For “/covidmy” and “/covidsg” commands:
  • The Active Cases section will only report the total number of active cases and the total number of ICU cases.
  • For “/covidsg” command:
  • Revert replacing “Community” and “Dormitory” to “Locally Transmitted” in line with updated API and MOH.

|18| 2021 September Updates


Version 0.7.210903.10 Update

[Server]

  • Updated Python Runtime.
  • Updated relevant server items.

[Changes]

  • Fixed “/probability” in “/commands”.

|17| 2021 July Updates


Version 0.7.210706.08 Update

Server:

  • Updated Python Runtime.
  • Updated relevant server items.

Changes:

  • “/covidsg” command
  • Replaced “Community” & “Dormitory” to “Locally Transmitted” in line with updated API and MOH.
  • Aligned with updated API.
  • “/covidmy” command
  • Aligned with updated API.

|16| 2021 May Updates


Version 0.7 Update

Version 0.7.210515.03 Update (Server Update)

Server:

  • Updated python-telegram-bot to V13.5.
  • Updated Python runtime.

Version 0.6.210509.12 Update

Fixes:

  • Fixed an error in “/covidsg” command displaying the wrong value of the number of hospitialised.
  • Fixed errors in “/covidmy” command displaying the wrong value of the number of deaths and number of new deaths.

Version 0.6.210508.09 Update

Changes:

  • Aligned “/covidsg” & “/covidmy” command with the renewed API.
  • Minor changes to commands.

|15| 2021 April Updates


Version 0.6.210425.07 Update (Patch + Server Update)

Server:

  • Updated relevant server items.
  • Updated Python runtime.

Patched:

  • Unauthorised use of “/annouce” command causing spam to all users.

|14| 2021 March Updates


Version 0.6.210306.05/.06 Update (Server Update)

Server:

  • Updated Python runtime.
  • Upgraded Heroku Stack.

Version 0.6.210306.04 Update (+ Server Update)

Server:

  • Updated two relevant server items.

New Feature:

  • Added “Central” 24H PSI Reading and update timestamp for “/psi” command.

|13| 2021 February Updates


Version 0.6.210205.03 Update

Changes:

  • Removed “/covidsgimg” command and related items. (Since the infographic is no longer updated anymore.)

|12| 2021 January Updates


Version 0.6.210122.02 Update

New Feature:

  • Added Source link to “/covidsg” and “/covidmy” command.

Version 0.6 Update

Version 0.6.210116.01 Update (+ Server Update)

Server:

  • Updated relevant server items.

New Features:

  • Random Number command “/randomno”: Generate random numbers from 1 to 10,000.
  • Probability command “/probability” or “/prob”: Generate a percentage of the probability.

Changes:

  • Minor changes to error messages.
  • Updated Attribution.
  • Update Commands and Help.

Fixes:

  • Fixed capitalised “/wind”, “/temperature”, “/weather” command returns an error.
  • Fixed adding “@Pikachuchu” in capitalised form behind the “/wind”, “/temperature”, “/weather” command returns an error.

Update on API Issue (Jan 14)

  1. As of January 14 2320h SGT, /uv command is now working normally.
  2. We had decided to revoke the decision made on January 11 to close the issue, and we will now proceed to close this issue and mark it as resolved today.
  3. For updates on PikaBot Issues, please visit back here or check the status page. Thank you.

Update on API Issue (Jan 11) - Revoked

  1. As of January 11, /uv command is still not working and is sending “Error: Failed to get data. (KeyErr)”.
  2. We had decided to close this issue and mark as resolved on January 10 as there were still no updates from the provider.
  3. Please visit back here for updates or check https://jzwsite.com/status for updates.

Update on API Issue (Jan 5, 2100h)

  1. As of January 5, 2100h SGT,  /psi, /wind, /weather, /temperature commands are currently working now.
  2. Except for /uv command, which will continue to send: “Error: Failed to get data. (KeyErr)”.
  3. This API Issue is out of our reach, and our only solution is to wait for the provider to resolve the issue. We will continue to monitor the situation and provide an update on it.
  1. Please visit back here for updates or check https://jzwsite.com/status for updates.

Attention (January 2 to 4)

  1. We have noted that /psi, /wind, /weather, /uv, /temperature commands are sending “Failed to get data: No Data Available.” or “Error: Failed to get data. (KeyErr)”.
  2. This is because the API that we used is currently not providing any updates, and there are no issues on our side. We will continue to monitor the situation and update you on it.
  3. Please visit back here for updates or check https://jzwsite.com/status for updates.

|12| December (Week 52) Progress Report

[i] This part is no longer updated.

Version 0.5.201226.03 Update

  • Removed code for /covidsg daily update message.

Version 0.5.201224.02 Update

New Feature:

  • PikaBot will now use the /christmas command to reply to related keywords.

Changes:

  • Minor Changes to /news command.

Version 0.5.201224.01 Update (+ Server Update)

  • Updated Relevant Server Items. (Minor)

Changes:

  • /xmas or /christmas command is now available!

|11| December (Week 51) Progress Report

[i] This part is no longer updated.

Version 0.4.201215.04 Update (+ Server Update)

  • Updated Relevant Server Items.

Fixes:

  • Fixed /covidsg & /covidmy not working due to a recent server update.

Important Notice (Security Advisory):

Due to potential security vulnerabilities relating to the use of xlrd engine (which covidsg/covidmy uses), we have decided to update the engine (which had later failed) and switched to openpyxl engine.

There is nothing to worry about, everything is currently stable as of now.


Version 0.4.201215.03 (Server Update)

[!] This Update has broken /covidsg, /covidmy commands.

  • Updated Relevant Server Items.

Version 0.4.201215.02 Update

[Minor Patch] Fixes:

  • Fixed /weather, /wind, /temperature command fails to get data from station after adding “@Pikachuchubot” behind.
  • Fixed /attribution formatting.

Stable Version 0.4 Update Release: Finalising PikaBot

Version 0.4.201215.01 Update

New Features:

  • New command: /4d (Limited to 25 Tries, will reset)
  • Commands made only available on specific days.

[From Beta]:

  • New /math command: Arithmetic Operations)
  • Sending /wind (number) will display a current place’s wind speed.
  • Sending /temperature (number) will display a current place’s temperature.
  • Sending /weather (Name of Location) will display current 2hr nowcast weather.
  • New error messages.
  • Hidden new commands.

Changes:

  • Minor changes to /news format.

[From Beta]:

  • Rewrote code for /help, /command commands and format.
  • Bolded and Italicised /covid format.
  • Minor changes to /psi, /wind, /weather, /temperature format.
  • Minor code changes to PikaBot basic chat replies (Such as greetings).
  • Updated Attribution.

Fixes:

  • Fixed /help, /command missing some commands.

Version 0.4.201214.b4 Update

New Features:

  • Hidden new command.

Improvements:

  • Improved /weather code.
  • Added specific errors in error messages.

Version 0.4.201213.b3 Update

New Features:

  • Sending /wind (number) or /temperature (number) will display a current place’s wind speed or temperature.
  • /weather command accepts searching for a location (Example: /weather Changi).
  • Reply Errors messages.

Version 0.4.201212.b2 Update

New Features:

  • Added /math command: Arithmetic Operations.
  • Added /math command in /commands and /help.

Changes:

  • Minor code changes to PikaBot basic chat replies.
  • Updated Attribution.

|10| December (Week 50) Progress Report

[i] This part is no longer updated.

Version 0.4 Beta Update Released!


Version 0.4.201208.b1 Update

  • Important Note: This is not the official Version 0.4. There will be frequent changes made without a version update.

Changes:

  • Redefined /help, /commands: much better now.
  • Bolded and Italicised /covid texts.
  • Minor changes to /psi, /wind, /weather, /temperature.

|9| December (Week 49) Progress Report

[i] This part is no longer updated.

Final Update: As of 2000h (SGT), /psi, /wind, /weather, /uv, /temperature commands are now functioning normally.


Update 2:  As of 1700h (SGT), /wind command is working as there are updates from the API, except for /temperature command. We will continue to monitor the problem and update on the status.


Update:  As of 1630h (SGT), /psi, /weather, /uv commands are working as there are updates from the API. Except for /wind, /temperature commands. We will continue to monitor the problem and update on the status. We have decided not to remove the commands for now.


Attention : We have noted that /psi, /wind, /weather, /uv, /temperature commands are broken. This is because the API that we used is currently not providing any updates, and there are no issues on our side. We will continue to monitor the situation and make a decision on whether to remove those commands.


Version 0.3.201205.1 Update (Small Update)

  • “/covid” numbers are now easier to read

|8| November (Week 46) Progress Report

[i] This part is no longer updated.

Version 0.3 Update: Ported To Heroku From Google Colab!


Version 0.3.201120.1 Update

  • Fixed “/covidsg” Automated Message Text Format.

Version 0.3.201117.1 Update

  • “/covidsgimg” No Longer Uses Cached Image.

Version 0.3.201116.1 ~ Version 0.3.201116.4 Update

  • “/covidsg” Now Uses Customised API To Receive Latest Updates
  1. API

The API is not available to the public. It is in .xlsx format and can be converted to JSON.

  1. UI

Some small “UI” changes such as:

- ”As of November 16, 1200h” has been changed to “16 November, 1200h Update”

- ”Recoveries: XXXXX” has been changed to “Recovered: XXXXX”

  • “/covidmy” Is Back (With The Help Of Customised API)
  1. API

It also uses the same API as “/covidsg”. The API is not available to the public. It is in .xlsx format and can be converted to JSON.

  1. UI

Uses the same format as “/covidsg”, but with some changes.

  • *Some major changes to code*
  • Announcements or Live Updates are no longer sent via code but by commands.

Planning Ahead

  • Bus timing or bus-related items, unfortunately, cannot be fulfilled, because the application will not be accepted as PikaBot is not well known and does not serve any meaningful purposes to the public.
  • PikaBot is coded for fun and can be useful at times such as COVID-19 updates (World, Singapore, Malaysia only). Weather, UV, PSI, Wind, Temperature Updates (Singapore only). And lastly some random or fun features such as boop, bet, and many more.
  • PikaBot will be moving on to Version 0.4 soon if the list below is cleared:
  • All issues in Version 0.3 are cleared and fixed.
  • All commands that can use APIs or Live Information (Not Cached Information) should be used.
  • All commands are running smoothly and are expected.
  • Finalised Codes.
  • Target by the end of the year is to hit Version 1.0, or as long as everything works well and is expected.

Version 0.3.201114.1

“Good News! [PikaBot Version 0.3 Update]

PikaBot is now able to respond to you anytime now*

*There might be a delay in response when PikaBot is sleeping.”

Successfully ported over to Heroku as of November 14~15.

There might be some bugs but they’ll be fixed soon. Check out /issue command for updates.

PikaBot is now able to respond to messages and commands “24/7”! Why inverted commas?

Because PikaBot will be sleeping after 30 minutes of inactivity. It’ll only respond to messages and commands after being triggered, in the meantime please wait for it to be awake (around 10~30 seconds, depending).


|7| November (Week 45) Progress Report

[i] This part is no longer updated.

Version 0.2.201101 Update

  • Added “/Attributions or /Att”

Attributions include the APIs used, credits, and licenses for usage.

All items* that are used in PikaBot are Free of Charge and can be used as long as there is attribution stated**.

*These items include: /wind, /weather, /temperature, /uv, /psi, /covid, /covidsg, /covidsgimg, /boop.

**Please visit the respective author for more information.


|6| October (Week 44) Progress Report

[i] This part is no longer updated.

Version 0.2.201025 Update

  • Resolved “/wind”, “/temperature” Command Not Responding. (Issue #0001)

The API has been modified recently and most of the data requested were removed, thus the steps to resolve this was reducing the range of numbers requested (from 1-14/1-12 to 0-4/0-3).


|5| October (Week 43) Progress Report

[i] This part is no longer updated.

Version 0.2.201019 Update

  • “/covidmy” Command Update

This command will now display “No Longer Available.” when executed.


|4| October (Week 42) Progress Report

[i] This part is no longer updated.

Version 0.2.201017 Update

  • Minor Improvements to PikaBot.

1. For “/commands” command list: “/covid” and “/covidsg” no longer have the “(BETA)” tag and “/temperature” no longer has the “(New!)” tag.


Version 0.2.201016 Update

  • Improved PikaBot callback feature.

On V0.2.201016, the callback feature’s interval has been decreased from 1 to 0.1.

The cause of the problem is still unknown, and investigation will stop.

  • “/issue” Command Added.

Like bug tracking, users will be able to know the current issue of PikaBot.

  • “/covidmy” Command Update.

COVID-19 Updates for Malaysia will no longer be updated unless there is a demand for this.


|3| October (Week 41) Progress Report

[i] This part is no longer updated.

  • As of October 8, due to an unknown problem, the callback feature which sends automated messages stopped working.

This problem has been resolved by delaying its interval from 0 to 1 and is still being investigated.

Issue occurred on V0.2.201003 (October 8), mitigated on V0.2.201008 & resolved on V0.2.201009.


|2| October (Week 40) Progress Report

[i] This part is no longer updated.

Version 0.2.201003 Update

  • You can now type the keywords in your message to activate a Command.

Type “how's the weather” and this will activate /weather command!

  • Added Currency to /bet Command.

You will start with $100. (Btw this is everyone's money, using it all up will cause the others unable to play)


Version 0.2.201002 Update

  • Improved /wind and /weather command

Now it chooses a random variety of locations.

  • Added new /temp command!

 /temperature or /temp command can be both used for the same function!


|1| September (Week 37) Progress Report

[i] This part is no longer updated.

  • PikaBot No Longer Provides Cached Information

Cached Information was implemented as it was simple and easy to execute maintenance. Now with Live Information, there is no longer the need to restart PikaBot in order to refresh the Cached Information.

  • Improved /uv Code

Thank god it's better now, the old code was very long and broken. I wonder why was it coded that way...

  • Improvements to Fun Commands

/bet command no longer reaches 0, replaced "Bot" as "Pika" now.



Development for PikaBot had ceased on 1 January 2021.

This means that PikaBot will no longer be maintained regularly. PikaBot is still supported to date and will continue to receive occasional updates, such as server updates.