Image

Seth Michael Larson: Blind Carbon Copy (BCC) for SMS

Have you ever wanted the power of emailBlind Carbon Copy(BCC), but for SMS? I've wanted this functionality myself for parties and organizing, specifically without needing to use a third-party service. This script automates the difficult parts of drafting and sending a text message to many recipients withSMS URLsand QR codes.

Draft your message, choose your recipients, and then scan-and-send all the QR codes until you're done. Save your command for later to follow-up in different groups.

Source code

Copy-and-paste the following source code into a file namedsms-bcc, make the file executable (chmod a+x sms-bcc) and you're ready to start using the script. Requires Python and theqrcodepackage(pip install qrcode) to run. This script is licensed MIT.

Source code forsms-bccscript

How to use

Export your contacts from your phone to a vCard file (.vcf). For iPhones this is done within the contacts app: long-press-and-hold “All Contacts” and select “Export”. This will create a.vcffile that you can transfer to your computer.

Now run thesms-bccscript with--contactsfor the.vcffile, draft a message in a file and pass with the--messageoption, and choose your recipients by their name with the--recipientsoption.

./sms-bcc \ --contacts contacts.vcf \ --recipients Alex,Bob Charlie \ --message ./message.txt

This will draft the message to two groups: "You, Alex, and Bob" and "You and Charlie". Note how spaces delimit groups of recipients and commas (,) delimit recipient names within a group.

After running this script, a series of QR codes using thesms://URL scheme will be generated one after another. Scan the QR code to load the message and recipient into your phone, then you can optionally send the message or skip, then pressEnterto generate the next QR code.

The--recipientsoption uses a simple string-contains operation, so I recommend having full names in your contacts to avoid excessive duplicates. You can pass a name with a leading hyphen/minus (-) character to exclude a name from the list of recipients. The below invocation will match people named "Alex" without matching "Alexander":

./sms-bcc --recipients Alex,-Alexander

If you have a spouse or partner that you want to include in every recipient group, use the--always-recipientsoption:

./sms-bcc \ --contacts contacts.vcf \ --recipients Bob Charlie,Dave \ --always-recipients Alex \ --message ./message.txt

This will draft the message for "You, Alex, and Bob" and "You, Alex, Charlie, and Dave".

🎄Merry Christmas and happy organizing!🎄


Thanks for keeping RSS alive! ♥

https://sethmlarson.dev/sms-bcc?utm_campaign=rss