operationcode-pybot icon indicating copy to clipboard operation
operationcode-pybot copied to clipboard

Daily Programmer Management

Open apex-omontgomery opened this issue 6 years ago • 7 comments

Store daily programmer in some format. Ping general with the new daily event. Provide a reference to others so they can do them later.

apex-omontgomery avatar Feb 26 '19 16:02 apex-omontgomery

The reference to other daily programmer right now this is being done by pinning the post is that how you want to keep it and just make a bot that pins it, or would you rather have it save it to something else like a webpage or google document or whatever?

ramalamadingdong avatar Mar 04 '19 20:03 ramalamadingdong

Your call. Maybe save it in a text format. Or just save the links to them all

apex-omontgomery avatar Mar 04 '19 21:03 apex-omontgomery

I got something together, it works on a test slack I made would you like me to merge it with your existing pybot?

ramalamadingdong avatar Mar 04 '19 22:03 ramalamadingdong

Heya, is there a PR associated with this issue?

hollomancer avatar Jun 22 '19 20:06 hollomancer

There is ... https://github.com/OperationCode/operationcode-pybot/pull/64

On Sat, Jun 22, 2019, 1:35 PM Conrad Hollomon [email protected] wrote:

Heya, is there a PR associated with this issue?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OperationCode/operationcode-pybot/issues/63?email_source=notifications&email_token=AC47AD5SALHQ46MXGTKVCRTP32EK5A5CNFSM4G2KOV62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYKQ5ZA#issuecomment-504696548, or mute the thread https://github.com/notifications/unsubscribe-auth/AC47ADY5KXROIR4DWZFOMH3P32EK5ANCNFSM4G2KOV6Q .

ramalamadingdong avatar Jun 22 '19 20:06 ramalamadingdong

We've decided to go with a rewrite of the bot, so we're revisiting this one. We ended up going through the historical records of all the posts in daily-programmer and extracting into Airtable everything that matched the general posting pattern - that ended up getting us around 750 records. Moving forward, the bot will monitor posts into that channel and extract anything with the right format to Airtable. We are also recording the message timestamps of the messages themselves, so we'll be adding in a a slash command or something similar to list out all of the previous problems.

JudsonStevens avatar Jan 01 '22 23:01 JudsonStevens

I've scoped this down to the following capabilities:

  • When a "manual" daily programmer is posted, as long as it has a line formatted as such: == <Current Date> - Daily Programmer === the bot will pick it up
    • For example: == Thursday January 20th 2022 - Daily Programmer ===
    • The bot will check for a matching problem in Airtable
    • If there is a match, increment the posted count and update the last_posted date
    • If there isn't a match, create a new row
  • If a user uses the /daily-programmer-problem slash command, the bot will randomly select a problem and send it to the user
    • At some point we should implement tracking so users don't get repeat problems, but for now it's fine
  • We'll add a scheduled job to post a problem daily from the list, focusing on problems that haven't been posted for a while with some slight randomization

JudsonStevens avatar Jan 22 '22 17:01 JudsonStevens