Penulis artikel tersebut menceritakan bagaimana ia berhasil menerapkan keterampilan pemrograman untuk mengotomatiskan proses rutin acara pernikahannya sendiri.Bagi kebanyakan orang, 3 September 2016 adalah hari Sabtu yang paling umum, tetapi dalam ingatan saya tanggal ini akan tetap selamanya, karena pada hari ini saya dan istri saya bermain pernikahan.

Saat merencanakan pernikahan, Anda perlu mempertimbangkan banyak hal: makanan, dekorasi dan dekorasi, lampu meja (ya, terpisah dari dekorasi), bunga, akomodasi tamu, transportasi, hiburan, dan pilihan tempat. Secara umum, ketika merencanakan pernikahan, Anda dihadapkan dengan banyak hal yang tidak diketahui, tetapi saya yakin akan satu hal: tidak ada pernikahan yang dapat dilakukan tanpa banyak daftar, daftar bersarang yang tidak berakhir sampai akhir. Semakin banyak daftar melayang di depan mata saya, semakin sering saya mulai berpikir tentang cara meningkatkan proses persiapan. Itu sangat tidak efisien dan semua pekerjaan dilakukan secara manual. Saya yakin teknologi pasti dapat membantu meningkatkan setidaknya beberapa poin.
Anda mungkin terkejut mengetahui bahwa mengundang orang ke pernikahan itu mahal (lebih dari 380 pound per orang). Pertama, Anda perlu mengirim undangan awal dengan tanggal dan pemberitahuan singkat, dan hanya kemudian - lengkap, dengan deskripsi acara yang lebih rinci. Semua ini, apalagi, dikirim melalui pos, yang artinya lambat. Upaya untuk "menangkap" undangan dan mendapatkan jawaban dari mereka tentang apakah mereka ingin datang ke liburan dengan makanan dan minuman gratis (walaupun, tampaknya, siapa yang tidak mau?!) Membutuhkan banyak waktu. Dan akhirnya, mengirimkan undangan tidak ramah lingkungan, karena kartu kertas adalah hal yang hanya sekali, mereka dengan cepat lupa dan menjadi tidak berguna bagi siapa pun.
Tetapi kembali ke daftar. Kami membagi tamu menjadi beberapa grup:
- Yang ingin Anda lihat di festival
- Mereka yang menjawab undangan kedua meminta tanggapan
- Mereka yang menerima undangan
- Mereka yang menerima undangan dan memilih makanan
Tapi saya suka daftar: mereka memiliki beberapa persyaratan yang telah ditetapkan yang mengubahnya menjadi objek hebat untuk otomatisasi.
Pesan dalam Botol
Saya yakin bahwa semua tamu potensial, berapapun usianya, memiliki telepon seluler, yang berarti sudah tiba saatnya bagi Twilio. Kode yang diberikan di sini dapat dilewati dengan aman jika diinginkan, karena selalu tersedia di
repositori GitHub yang sesuai.
SMS sebagai saluran komunikasi sangat sesuai dengan kebutuhan saya. Saya dapat mengatur pengiriman surat secara massal, dengan cepat dan efisien memproses tanggapan. Membuat sketsa kerja pertama dari produk dan mempertimbangkan pilihan basis data, saya mencoba melakukan sesuatu yang sederhana yang dapat dengan mudah dibagikan dan tidak ingin menghabiskan banyak waktu untuk penampilan. Pada akhirnya, saya menemukan perpustakaan python gspread, yang memungkinkan saya untuk membaca dan menulis ke
tabel google . Ini bukan pilihan tercepat, tetapi lebih fleksibel, yang membuatnya mudah untuk mengakses tabel dan membaca hasil.
Untuk prompt pertama, saya
membuat tabel dengan tiga kolom:
- Nama
- Nomor telepon
- Confirmation_status (Status Konfirmasi)
- Status detail kontak
- Message_count (Jumlah pesan yang dikirim ke tamu sangat berguna di masa depan)
Setelah menyelesaikan entri data dasar, saya
menjalankan daftar melalui
gspread , yang mengirim SMS ke setiap tamu yang memiliki nomor ponsel:
import json import time import gspread from oauth2client.client import SignedJwtAssertionCredentials from twilio.rest import TwilioRestClient
Dan karena SMS biasanya terlihat sedikit membosankan, saya menambahkan beberapa
Unicode untuk membuatnya lebih menarik. Seperti inilah bentuk pesan untuk tamu yang beruntung:

Selanjutnya, saya menggunakan Flask sebagai server web, membuat permintaan URL saya untuk Twilio Messaging point ke / pesan, dan menambahkan if-check sederhana ke parse response:
@app.route("/messages", methods=['GET', 'POST']) def hello_guest(): if "yes" in body_strip: # confirmation_status wks_attendees.update_acell("F"+str(guest_confirmation_cell.row), 'Accepted') # ยซ ยป resp.message(u"\u2665" + "Thanks for confirming, we'll be in touch!" + u"\u2665") # r , elif "no" in from_body.lower(): # ยซ ยป wks_attendees.update_acell("F"+str(guest_confirmation_cell.row), 'Declined') # resp.message("Sorry to hear that, we still love you though!") else: # , resp.message("You sent a different keyword, we need a yes or a no, you sent: "+ from_body) return str(resp)


Pesan pertama dikirim pada pukul 8:37 pada 19 Februari, dan konfirmasi pertama diterima sedikit kemudian pada pukul 8:40. Pada 9:38, saya sudah menerima 23 konfirmasi, yaitu, 32% jawaban ada di saku saya! 2 hari setelah dimulainya pengiriman massal, 58% tamu telah mengkonfirmasi keikutsertaan mereka. Meskipun keberhasilannya jelas, calon istri saya belum 100% terkesan dengan layanan SMS saya untuk undangan pernikahan, dan saya memutuskan untuk menambahkan beberapa fungsi lagi ke aplikasi.
Statistik! Saya bisa membuat daftar tamu terkini dan memberikannya atas permintaan, memberikan calon pengantin saya umpan balik instan. Kode itu ternyata sangat sederhana, karena saya sudah menyiapkan beberapa penghitung paling sederhana di tabel sebelumnya, dan karena itu semuanya turun untuk mendapatkan konten sel individu dan menambahkannya ke SMS:
Contoh SMS yang dikirim oleh kode ini:

Mungkin terlihat tidak terlalu indah, tetapi sangat informatif.
Fakta bahwa Lauren sekarang dapat mengikuti pembaruan otomatis dari daftar tamu menyelamatkan kami dari banyak sakit kepala. Akibatnya, saya menerima persetujuan darinya untuk integrasi SMS yang meluas, dan segera alat ini digunakan di hampir semua proses di mana dimungkinkan. Beberapa aplikasi sudah jelas, misalnya, mengirim pemberitahuan SMS tentang peluncuran situs pernikahan (dibuat, dengan cara, di
Heroku ), atau bekerja dengan daftar hadiah pernikahan dan banyak solusi lain yang saya banggakan hingga hari ini.
Pesta yang mulia
Setelah menyusun daftar undangan dan mengumpulkan jawaban, ia sampai pada pelajaran, yang biasanya ditunda sampai nanti - mencari tahu preferensi selera para tamu. Langkah pertama adalah mengirim SMS lain yang memberi tahu para tamu tentang perlunya mengunjungi situs web dan memilih kategori makanan yang disajikan menggunakan formulir google. Bentuknya terlihat sangat biasa, tetapi mengisi file yang sama di mana ada data tentang pengunjung. Jadi, sekarang kami memiliki tabel pengunjung yang menerima undangan, dan meja yang mengisi formulir pemilihan makanan. Jika kita berbicara tentang alat otomasi biasa, saya harus menunggu para tamu untuk perlahan-lahan memilih hidangan mereka, namun, pernikahan saya diadakan dengan dukungan Twillio, dan ini berarti bahwa saya bisa mendapatkan respons dari para tamu dengan sedikit usaha.
Itu perlu untuk memverifikasi dua tabel dengan nama para tamu dan memperbarui status hidangan yang dipilih setelah menerima informasi baru. Ini membutuhkan beberapa lonceng dan peluit tambahan dalam kode, tetapi segera setelah saya selesai menggunakannya, saya dapat menjalankan skrip secepatnya, menerima SMS dengan informasi terbaru:
import json import time import gspread from oauth2client.client import SignedJwtAssertionCredentials from twilio.rest import TwilioRestClient
Sekarang saya memiliki daftar tamu yang akurat dan daftar hidangan yang terus diperbarui, masuk akal untuk membuat statistik ini tersedia untuk umum menggunakan aplikasi utama. Untuk ini, hanya perlu menambahkan konten sel yang sesuai ke balasan SMS:

Ukuran ini ternyata sangat berguna, karena memungkinkan perusahaan yang melayani liburan untuk menyadari kemajuan kami dan memberikan informasi yang sangat praktis dari mereka yang belum membuat pilihan. Pesaing berikutnya untuk otomatisasi adalah proses menerima tanggapan dari tamu. Untuk melakukan ini, hanya perlu membaca daftar, menemukan di dalamnya "pelanggar" yang tidak memilih piring mereka, dan mengirimi mereka pesan!
for num in range(2, 72):

Hari besar itu mendekat lebih cepat dari yang bisa kita bayangkan. Satu-satunya hal yang harus kami lakukan adalah mengirim SMS terakhir, mengingatkan tamu tentang detail dasar dan kebutuhan untuk mempersenjatai diri dengan payung, yang akan membantu melindungi diri mereka dari musim panas Inggris yang biasanya hujan:

Kesimpulannya
Mengorganisir pernikahan tidak pernah mudah. Kapan saja, mungkin bagi Anda tampak bahwa banyak aspek acara berada di luar kendali Anda. Otomatisasi jelas membuat hidup saya lebih mudah dengan menyediakan saluran komunikasi langsung dengan para tamu dan alat yang tak terhitung jumlahnya untuk mengikuti jawaban mereka dan mengingatkan mereka tentang kebutuhan untuk memutuskan dan menjawab. Dia membantu kami mengambil salah satu hal paling membosankan yang menyertai acara seperti itu ke tangan kami sendiri, dan memungkinkan kami untuk meluangkan banyak waktu dan fokus pada komponen penting lainnya dari peristiwa penting dalam hidup kami.
Membuat solusi yang skalabel untuk tugas-tugas kompleks tidak pernah mudah, dan bahkan salah satu versi terakhir dari aplikasi saya hampir tidak dapat mengatasi tugas-tugas di tempat. Awalnya, saya berencana untuk mengembangkan solusi yang lebih komprehensif, dengan visualisasi kemajuan, integrasi suara, kurang tergantung pada skrip CLI, tetapi waktu menang dalam lomba ini. Secara umum, saya senang dengan bagaimana semuanya berubah. Tidak ada sistem komunikasi yang sempurna. Anda harus selalu menggunakan saluran yang paling cocok untuk audiens Anda, baik itu
SMS ,
Voice ,
Chat ,
Video atau
semaphore .
Jika Anda ingin berbicara tentang otomatisasi pernikahan, kirim email ke saya di
Twitter .
