Coder Social home page Coder Social logo

portalbot's People

Contributors

portaljacker avatar

portalbot's Issues

Improve the units displayed in woppy

Currently the only options are c (Canada) and f (US), with the default being f.

Ideally the default should use the auto unit type defined in the DarkSky API docs. This would require inverting the dependency for which unit is used from me setting the unit to getting the unit chosen from the API response object.

Ideally this would also have the part where the message is sent put into its own function to reduce code duplication.

Implement !ask, in the style of a magic 8-ball

Implement a magic 8-ball with the command syntax !ask <question> Giving one of the standard 20 answers.

If possibly rewrite the responses to fit the intended persona for the bot (may be deferred to a future issue).

Implement !woppy weather check:

Reproduce the effect's of the original Woppy bot, with some enhancements, in the format !woppy <location>.

Requirements:

  • Return (lightly formatted) weather data back based on the given query.
  • Ensure it searches for the most likely city matching the name, not the first on the list.
  • Use !woppyc for Celsius.

Implement secure token/secret storage outside version control

Since it would be extremely irresponsible to commit the bot token to version control, a method must be added to import the token easily, to eliminate any need to manually enter it. Especially since this could lead to committing it accidentally.

This will be implemented using environment variables, as this is a common feature that's part of many configuration tools, and also easier the manage than any sort of config file format.

Escape formatting characters from user-submitted strings

When a user sends text with a character that's part of the formatting in the reply string, it causes the character to be shown, and not used for formatting.

Example:

!ask Underscore?_
User asked, "Underscore?" Magic 8-ball says: "Don't count on it."_

The quoted response above should be bold and italicized, but is only bold.

Implement !snapple "Real Facts" command

Calling !snapple would pull up a random fact, and !snapple 2 would pull up https://www.snapple.com/real-facts/2

At first this would just generate a number between 2 & 1422, but this could easily become an embed as they also number the image files predictably. Example: https://www.snapple.com/images/snapple_facts/small/snapple_fact_2.jpg

Furthermore, if using embeds, the facts can also include if they've been disproved and link the appropriate citation that Wikipedia uses: https://en.wikipedia.org/wiki/Snapple#Incorrect_facts

Deploy portalbot to server

Portalbot needs a place to work and talk to customers. Yelling through ground floor window from my basement just isn't cutting it anymore.

Currently the intention is to deploy on a VPS from OVH Canada. Operating system choice is TBD, likely Ubuntu or CentOS.

Other considerations to be made:

  • What server management will be used?
  • How will the code be deployed? Will it be manual? A script? Build definition?

Implement !group

  • !group {game} will list people in group
  • !group game join will add the requesting user and @mention those already in the group

Design database schema for Group Finder

Design a schema to be used for storing the data associated with the groups being formed.

The tables should have enough fields to accommodate future changes or features with minimal need (preferably none) or any sort of migration.

Take into account any and all relationships between the tables and their data. (1-1, M-1, M-M, etc.)

Add zip code search to !woppy to match Twitch bot functionality.

Currently the Twitch version of the !woppy command developed by Vaindil supports search by zip code, creating an expectation by new users on Crensloths coming from Twitch that Portalbot's !woppy command works the same.

Therefore the command should be updated to support, at the minimum, zip codes and Canadian postal codes. If an easy way to validate all postal codes exists then they can be accepted as well.

Make woppy woppy again

Change the behavior/appearance of portalbot to match the original bot more closely. Use Woppy from Cox n' Crendor for reference.

  • - Add sunny/current precipitation as per Woppy on the podcast
  • - Match the post/edit cadence of the original bot

Replace the geocoding library

The geocoding library used at the moment is too limiting, as it only has latitude and longitude when there are so many more fields that can be used.

The main one is the full address (formatted_address field from the response) which will be used for the city name instead of just using the one provided by the user.

Set up database

Select an SQL server and set it up using the schema from #9.

This ticket would include setting up the database connection in the project itself as well. Would involve writing the command !join list, which shows the available games.

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.