Git Product home page Git Product logo

slackblast's Issues

Ensure PAX Count value is a whole number

Because tools like PAXMiner are looking for a whole number, e.g. 7, then 'seven' should not be allowed in the slackblast post.

Proposals:

a) we can make maximum length 3 so 100 can be typed in but not seven. May catch a lot of these cases.
b) can look into updating the label to make it clear a number is expected. May also add a validation message depending on Slack's modal capability - which increases the interactivity and number of communications between slack and the server and overall making it nearly twice as complicated
c) the server can read the input and if it is not an integer, then server can parse the PAX and non-PAX names by hand to come up with the count

Clean Up / Modularize handle_backblast_post

handle_backblast_post has gotten way too long and complicated due to its many entry points. It probably makes sense to separate out the entry points and modularize the common functionality.

PAXMiner is processsing some data for channels not tagged as AOs.

Background
We maintain two 3rd-F locations as channels for 1) preblasts and 2) qsignups. We don't want these two channels processed as "workouts" by PAXminer. These two channels are NOT set as AOs in the database AND paxminer isn't in the channel.

Issue
PAXMiner appears to be processing the data from the backblast. These backblasts were entered using the /backblast command and have the buttons at the bottom. When I say "appears," I mean that PAXMiner is counting the Q stats for these channels and including it in the report on the 1st-F channel as well as the individual 3rd-F channels. I assume the same is true of the PAX listed therein.

Resolution
If the issue is caused by using the /backblast command, then ensure /backblast command is checking for the AO flag in the database before processing the backblast. Then again, this issue might not exist at all (can't remember if I recently fixed these flags in the database #old).

Griswold, F3xT

Add personal stats

This would be a fun little "just because"... a command (/my-stats) that brings up a modal with a bunch of metrics / charts that summarize your posting numbers.

Better Modularization

As I expand features of Slackblast, I'd like to make them more modular so it's easier to work on them independently. So for example, I'd probably break out forms.py, moving the forms to their respective feature modules. Same with actions.py?

FNG Welcome Message

Had a request / some ideas for adding a welcome message for guys who join the slack space; Slack has a trigger event for this. The basic idea:

  • Triggers automatically when new guys join the Slack space
  • Sends the guy a message, welcoming him and some introduction / overview
  • Optionally sends a callout in a specified channel
  • Configurable through /config-welcome-message or similar

Add special field for non-Slack PAX

As a Q submitting the backblast, I would like the form to separate out FNG field with “Not In Slack” field so that it is clearer what to do with PAX that are not in Slack and thus not taggable.

Humbly requested by Dilfer (Puget Sound) and favored also by Huggies (Phoenix, AZ).

Clean up /config-slackblast

Especially as we add more features, I would like to make the config menu a little more streamlined. My thought is to use sub menus for each category of the app (email settings, welcome settings, custom field settings, etc)

Update Python and move to Poetry

Project is on Python 3.8, it would probably be worth updating soon... I'm hoping that we can avoid changing the Lambda function URL, but that may not be avoidable.

Also want to move to Poetry for dependency management.

Add Weaselbot integration

I have an idea for making it easier to tag manual achievements in Weaselbot via Slackblast. It would be a new command like /tag-achievement, which would load a form that has a dropdown for selecting an achievement from that region's achievement_list (if it exists). This would write directly to achievements_awarded rather than making a backblast to be picked up by Weaselbot.

Upload file option?

Would it be possible to add an option for uploading a File (such as Boy Band photo/video for NOR)?

Add DR functionality

In tandem with Weaselbot's schema, the idea would be to automatically post in the PAX's home region (selected channel) when they post DR. This would eliminate the need for that PAX to create a DR post, as well as share with their home PAX what they are up to.

Can there be a Co-Q

If there is the possibility of adding a 2nd Q, then PAXMiner will consider the 2nd name the Co-Q.

Can we have the Q field allow a primary and secondary name to be chosen?

Make custom field form more dynamic

When adding a numeric custom field, the "options" field is required. Ideally, this would be dynamic to remove this field if numeric or freeform is selected.

Add photos to backblasts

Slack doesn't have a filepicker, but we could:

  1. Prompt the user with a DM for a picture, and take whatever the user replies with and add to the post
  2. Use Google Photos URLs, download and add to post

Will need to think about how to do this for email, since those are sent right away when making a backblast. Played around with 1) a fair bit... bad news is that it is going to be either very messy or impossible :( Putting it on hold for now to work on other stuff

Better error handling

It would be good to surface some errors to users so they can help diagnose. Currently, most of the time it will fail silently.

Allow for custom email tags

Basically the ability to append custom text to the end of the email. Could be used for postie or other.

So it wouldn't be postie specific but you could use custom tokens in this "setting" that would replace bits with values from slackblast:

#category: {{ the_ao }}

Strava Integration

Hello,
I'm not sure if I'm in the right place for this, but I'm having an issue with the Strava integration. When I click on the "Connect to Strava" button in the SlackBlast, a pop-up window launches, and says "Loading, do not close", but just hangs there indefinitely.

I've tried logged out of Slack and back in, and that did not help. I've tried it from the Slack mobile app as well, and that has the same results.

Is there a way to fix this, or things I could try?

Uploading Screenshot 2024-01-04 at 7.17.48 AM.png…

How to edit the backblast after posting?

Great tool! One question: is there any way to edit the bost's post after it is posted to the channel? For example, Q makes an error and wants to fix it, etc.

I am hoping there is some way to set the permissions for the bot's posts but not finding much after googling on this.

HC Button for Preblasts

Had an idea to add an HC button to preblasts. When clicked, it would:

  • Add the user to a list (at the bottom of the post in small type / context?)
  • Could also have a pax counter on the post
  • Clicking again would remove them from this list and decrease the counter
  • Either one (HCing or un-HCing) could optionally trigger a threaded response ("and @moneyball is in!" kind of thing)

Best options for a preblast?

Our region has requested a similar app for preblasts (which we use for nearly every beatdown). Looking for just some general guidance on best design approach for this. Full disclosure: I do mostly scientific programming in Python and webapp skills are fairly rudimentary. I did manage to get the slackblast app installed for us on Azure App Services and running in our slack workspace.

Thoughts on options:

  1. Build in the same app (forked version of this repo) and have an option to flip between a preblast modal or a backblast modal. Pros: ease of management. Cons: Maybe not the best UX approach (perhaps confusing to users).
  2. Build a copycat 2nd app, install as a second slack / Azure app. Pros: use separate slash command (e.g., /preblast vs. /slackblast), cleaner. Cons: more code and a 2nd app to manage. Can't fork a repo twice in github so any updates to this app would have to be manually added to the 2nd app.
  3. Is there a better 3rd option than either of these?

Thanks for the great app and any help on this design.

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.