安全地存储环境变量
您需要使用本教程开始时所定位的帐户SID和Auth令牌,以便与TwilioAPI进行交互。这两个环境变量应该保持私有,这意味着我们不应该将它们的值放在代码中。相反,我们可以将它们存储在
.env
文件并列出
.env
在我们的
.gitignore
这样git就不会追踪它了。一个
.env
每当需要将环境变量提供给操作系统时,都会使用文件。
注意,
环境/
由Python为虚拟环境创建的文件夹与
.env
为存储机密而创建的文件。
首先,创建
.env
档案:
(env) $ touch .env
接下来,打开
.env
在您喜欢的文本编辑器中添加以下行,用自己的值替换随机字符串占位符值:
export ACCOUNT_SID=AzLdMHvYEn0iKSJz
export AUTH_TOKEN=thFGzjqudVwDJDga
来源
.env
文件以使其可供操作系统使用,然后将环境变量值打印到控制台以确认它们是成功来源的:
(env) $ source .env
(env) $ echo $ACCOUNT_SID
(env) $ echo $AUTH_TOKEN
安装Python依赖项
项目所需的Python包是:
Python项目所需的依赖项通常列在一个名为
Requirements.txt
。创建一个
Requirements.txt
文件中的
WhatsApp-生日
目录:
(env) $ touch requirements.txt
将此Python包列表复制并粘贴到您的
Requirements.txt
使用首选文本编辑器的文件:
twilio
flask
pandas
apscheduler
使用以下命令安装所有依赖项,确保您的虚拟环境(“env”)仍然来源于:
(env) $ pip install -r requirements.txt
使用Python发送WhatsApp消息
使用TwilioAPI时,用Python脚本发送消息很简单。首先,创建一个
App.py
文件中的
WhatsApp-生日
目录:
(env) $ touch app.py
复制并粘贴下面的起始代码到
App.py
档案:
import os
from twilio.rest import Client
account_sid = os.environ.get(‘ACCOUNT_SID’)
auth_token = os.environ.get(‘AUTH_TOKEN’)
client = Client(account_sid, auth_token)
在第1行和第3行,我们导入Python的内置os
库中的客户端对象。twilio
Python包,它方便了与TwilioAPI的通信。在第5和第6行中,插入您在先决条件本教程中单引号之间的部分。在第7行中,使用Account SID和Auth令牌实例化客户端对象。
现在我们可以使用客户对象访问Twilio的API。在最初的几行代码之后,只需要一个对象方法就可以发送WhatsApp消息。在下面的示例中,从…WhatsApp号码是在你的TwilioWhatsAppSandbox中提供的。替换到WhatsApp号码现在有你自己的号码,包括国家代码。您还可以自定义与体体变量如果你想的话。
复制并粘贴此代码到
App.py
文件,在其他代码下面:
client.messages.create(
body=‘Hello!’,
from_=‘whatsapp:+14155238886’, # This is the Twilio Sandbox number. Don’t change it.
to=‘whatsapp:+19876543210’ # Replace this with your WhatsApp number
)
在命令提示符中,从
WhatsApp-生日
目录(其中
App.py
)来运行代码段:
(env) $ python3 app.py
您将在WhatsApp聊天中看到来自Twilio Sandbox的新消息。这是TwilioAPI提供的强大和可伸缩性的一个很好的例子!
通过WhatsApp发送生日祝福
让我们在上一节提供的代码的基础上,创建一个可以向您所爱的人发送生日愿望的函数。首先,删除
Client.messages.create()
函数从上一节调用。然后,将以下示例代码复制并粘贴到您的
App.py
您已经拥有的代码下面的文件。继续阅读,了解代码的功能。
def send_birthday_wish(client, recipient_number, recipient_name):
“”"Send a birthday wish to a recipient using their WhatsApp number.
Args:
client (object): An instantiation of the Twilio API’s Client object
recipient_number (str): The number associated with the recipient’s WhatsApp account,
including the country code, and prepended with ‘+’. For example, ‘+14155238886’.
recipient_name (str): The recipient’s name
Returns:
True if successful, otherwise returns False
“”"
birthday_wish = “”"
Hey {}, this is Ashutosh’s personal birthday wisher.
Happy Birthday to you! I wish you all the happiness that you deserve.
I am so proud of you.“”".format(recipient_name)
try:
message = client.messages.create(
body=birthday_wish,
from_=‘whatsapp:+14155238886’, # This is the Twilio Sandbox number. Don’t change it.
to=‘whatsapp:’ + recipient_number
)
print(“Birthday wish sent to”, recipient_name, “on WhatsApp number”, recipient_number)
return True
except Exception as e:
print(“Something went wrong. Birthday message not sent.”)
print(repr(e))
return False
send_birthday_wish(client, '+19876543210, ‘Ashutosh’)
在新函数中,我们首先定义生日愿望变量作为多行字符串。请随意定制这个!然后,我们定义讯息变量,使用与Twilio的语法相同的语法进行交互。客户对象。为了测试目的,使用Twilio Sandbox WhatsApp编号作为**从__**数。
在示例代码的最后一行中,函数将被调用,您将把自己的WhatsApp编号作为到测试用的号码和你自己的名字。
注意,负责发送消息的代码包装在try/except
封锁。这将确保如果发生了错误并且消息没有发送,您将在控制台中获得有用的输出。
若要测试该功能,请运行
App.py
再次存档:
(env) $ python3 app.py
你应该收到你手机上的WhatsApp消息。到目前为止干得不错!
将出生日期存储在CSV文件中
我们现在可以发送生日信息,但我们不会存储我们所爱的人的出生日期在任何地方。为了保持简单,我们可以将出生日期信息存储在逗号分隔值(CSV)文件中,如下所示:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
e168b93cf63939786134ca.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
[外链图片转存中…(img-0jkMlwaP-1712415374778)]