Skip to content

Instantly share code, notes, and snippets.

@pythongiant
Last active April 19, 2021 03:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pythongiant/c285998951b7987e8ca6d6e4bc47dfe2 to your computer and use it in GitHub Desktop.
Save pythongiant/c285998951b7987e8ca6d6e4bc47dfe2 to your computer and use it in GitHub Desktop.

Proposal For Summer Project

About

'Birdman NotASPAMbox' is an automated mail and social media publishing command line interface.

Tech Stack

  1. Python 3.7
  2. Django REST Framework
  3. PostgreSQL
  4. Telegram,Twitter bot API
  5. smtplib

Working

Birdman works by asking the user for relevant data for publishing for eg. meetup link, poster link, meetup theme, talks etc. and outputs it as a template and shares the output to all social media networks wherever required.

  $ birdman 
  Venue Decided(y/n):
  Meetup Link:
  Poster Link:
  Telegram Username:
  Talks Decided (y/n):

A sample Output will look like this:

  Processing ↑ (saving to .birdman/<date>/meetup.txt)
  
  Join us for the next ILUG-D Meetup on <Date/Time> at <Venue> 
  Event Page :<Meetup Link>

  Would you like to edit this ? (y/n)

If talks are not decided the CFP email to the mailing list and twitter will look like this

  
  Processing ↑ saving to .birdman/<date>/meetup.txt

  Call for Proposal is open for the next next ILUG-D Meetup on <Date/Time>. Raise an Issue at https://github.com/ILUGD/talks.

  Would you like to edit this ? (y/n):

A copy of the meetup.txt file would be send through the Telegram Bot to any admin for approval.

Extras

To create a new meetup page -

$ birdman --new-meetup
  Venue:
  Date:
  Time: 
  Talk (Talk Title- Github link):
  Any More(y/n)?:n #If in case
  Talk (Talk Title- Github link):
  Processing ↑ (saving to .birdman/<date>/meetupPage.txt)
  
  Join us for the next ILUG-D Meetup on <Date/Time> at <Venue> 
  Event Page :<Meetup Link>
  Talks: <Talk Name> - <Github Link>
  Would you like to edit this ? (y/n)
  Send CFP ?(y/n):
  Awaiting admin response.. Exiting.

Skip the questions by selecting valid flags like birdman --venue --talks wouldnt ask you if venue and talks were decided

Tasks

  1. Create a REST API for logging,DB management using postgres
  2. Make a Twitter, Telegram bot.
  3. Use SMPTlib for sending mails to mailing list

Features

  1. Mailing list support
  2. Twitter, Telegram posting
  3. Automatic CFP (Call for Proposal) Announcement

Footnotes

Feedback form announcement will be triggered automatically after 1 hour of meetup ending on twitter,telegram and mailing list

@ajax711
Copy link

ajax711 commented May 27, 2019

Looks neat

@ajax711
Copy link

ajax711 commented May 30, 2019

We can add three flags . --venue , --talks --spam. So if we want to select talks before venue, we can just do birdman --talks and will not have to press (y) for venue. Another solution for this problem is to add a skip option.

@pythongiant
Copy link
Author

@ajax711 I incorporated your changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment