Skip to main content

Tech recruiter auto reply bot using JMAP

Project description

wafflesbot: Email auto reply bot for JMAP mailboxes

PyPI PyPI - Python Version Build codecov GitHub stars

wafflesbot

wafflesbot sends form replies to unreplied emails in a JMAP mailbox (such as Fastmail).

wafflesbot excels at automatically asking tech recruiters for compensation information.

Built on:

Installation

wafflesbot is available on PyPI:

pip install wafflesbot

Usage

wafflesbot provides the waffles command which can be run interactively or as a cronjob.

Environment variables:

  • JMAP_HOST: JMAP server hostname
  • JMAP_USER: Email account username
  • JMAP_PASSWORD: Email account password (likely an app password if 2-factor authentication is enabled with your provider)

Required arguments:

  • -m/--mailbox: Name of the folder to process
  • -r/--reply-content: Path to file with an HTML reply message

Invocation examples

Reply to messages in the "Recruiters" folder with the message in my-reply.html:

JMAP_HOST=jmap.example.com \
JMAP_USER=ness \
JMAP_PASSWORD=pk_fire \
waffles \
    --mailbox "Recruiters" \
    --reply-content my-reply.html

Additional argument examples:

  • Only reply to messages received within the last day:
    • waffles -m "Recruiters" -r my-reply.html --days 1 (or -n)
  • Send at most 2 emails before exiting:
    • waffles -m "Recruiters" -r my-reply.html --limit 2 (or -l)
  • Instead of sending mail, print constructed email replies to standard output:
    • waffles -m "Recruiters" -r my-reply.html --dry-run (or -p)
  • Log JMAP requests and responses to the debug logger:
    • waffles -m "Recruiters" -r my-reply.html --debug (or -d)

Development

Prerequisites: Poetry

  • Setup: poetry install
  • Run all tests: poetry run poe test
  • Fix linting errors: poetry run poe lint

Created from smkent/cookie-python using cookiecutter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wafflesbot-0.0.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wafflesbot-0.0.1-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file wafflesbot-0.0.1.tar.gz.

File metadata

  • Download URL: wafflesbot-0.0.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for wafflesbot-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c1de01abe201755195a0840b67fdc72a9a9030344ff620f8df9bf7c1e670fd7a
MD5 49ef9127af93c22b89a24f7d8b60bc4b
BLAKE2b-256 b10768f3168c5b53edf1b1b5b0ab7e27f7b409753f626c6db090cc6ffd842936

See more details on using hashes here.

File details

Details for the file wafflesbot-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: wafflesbot-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for wafflesbot-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb5dda60242437da5c21d3b3c194c0d3af4fcee84e6ed8742dc7e9d4e521e21c
MD5 d27257c11dd6c3632c0b147c8cca821a
BLAKE2b-256 08feeece994ad3bc29942e9d6b26fc2bc725c104fbb0b4e1c4efbb5b6f78c427

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page