isaacongoma / twitter
此包通过Laravel轻松实现通过Twitter发送通知
Requires
- php: ^7.3|^8.0
- abraham/twitteroauth: ^2.0.0
- illuminate/notifications: ^8.0
- illuminate/support: ^8.0
- kylewm/brevity: ^0.2.9
Requires (Dev)
- mockery/mockery: ^1.3.1
- orchestra/testbench: ~6.0
- phpunit/phpunit: ^9.3
- dev-master
- v5.1.0
- v5.0.1
- v5.0.0
- v4.1.0
- v4.0.0
- 3.0.1
- 3.0.0
- 2.1.0
- 2.0.0
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- v0.0.1
- dev-patch-1
- dev-Jono20201-patch-1
- dev-analysis-q2Z529
- dev-analysis-zOL6rB
- dev-analysis-XV0lBK
- dev-analysis-XpE1e6
This package is auto-updated.
Last update: 2024-09-05 14:55:31 UTC
README
此包通过Twitter使用Laravel轻松发送通知。如果您有一个较旧的Laravel应用程序,您可以使用1.*版本。但请注意,这些版本不再维护。
内容
关于
此包是Laravel Notification Channels项目的一部分。它为Laravel自身提供的通知渠道提供了额外的Laravel通知渠道。
Twitter渠道使得将Laravel通知作为Twitter状态更新
(时间线上的帖子)或作为直接消息
发送出来成为可能。
安装
如果您喜欢视频,还有一个介绍视频可供您观看。如果没有,请继续阅读。
您可以通过composer安装此包
composer require laravel-notification-channels/twitter
服务提供程序会自动加载。
设置Twitter服务
您需要创建一个Twitter应用程序来使用此渠道。在此应用程序中,您将找到密钥和访问令牌
。将它们放入您的.env
文件中。要加载它们,请将以下内容添加到您的config/services.php
文件中
... 'twitter' => [ 'consumer_key' => env('TWITTER_CONSUMER_KEY'), 'consumer_secret' => env('TWITTER_CONSUMER_SECRET'), 'access_token' => env('TWITTER_ACCESS_TOKEN'), 'access_secret' => env('TWITTER_ACCESS_SECRET') ] ...
这将从.env
文件中加载Twitter应用程序数据。请确保使用那里使用的相同密钥,如TWITTER_CONSUMER_KEY
。
用法
要使用此包,您需要在Laravel应用程序中创建一个通知类,例如下面的NewsWasPublished
,确保查看Laravel文档。
发布Twitter状态更新
<?php use NotificationChannels\Twitter\TwitterChannel; use NotificationChannels\Twitter\TwitterStatusUpdate; class NewsWasPublished extends Notification { /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { return [TwitterChannel::class]; } public function toTwitter($notifiable) { return new TwitterStatusUpdate('Laravel notifications are awesome!'); } }
仔细查看toTwitter
方法。在这里我们定义我们想要触发的Twitter消息类型。在这种情况下,它是一个状态更新消息,只是您时间线上的新消息。
public function toTwitter($notifiable) { return new TwitterStatusUpdate('Laravel notifications are awesome!'); }
发布带有图片的Twitter状态更新
您还可以与状态更新一起发布图片。您必须将图片路径传递给withImage
方法。
public function toTwitter($notifiable) { return (new TwitterStatusUpdate('Laravel notifications are awesome!'))->withImage('marcel.png'); }
如果您想使用多张图片,只需传递路径数组。
return (new TwitterStatusUpdate('Laravel notifications are awesome!'))->withImage([ public_path('marcel.png'), public_path('mohamed.png') ]);
发送直接消息
要向特定用户发送Twitter直接消息,您需要TwitterDirectMessage
类。提供Twitter用户处理程序作为第一个参数,消息作为第二个参数。
public function toTwitter($notifiable) { return new TwitterDirectMessage('marcelpociot', 'Hey Marcel, it was nice meeting you at the Laracon.'); }
您也可以提供用户ID
而不是屏幕名
。这将防止额外的Twitter API调用。确保将其作为整数传递。
public function toTwitter($notifiable) { return new TwitterDirectMessage(12345, 'Hey Marcel, it was nice meeting you at the Laracon.'); }
处理多个Twitter账户
可能存在需要处理多个Twitter账户的情况。这意味着您需要能够更改Twitter应用程序提供的密钥和令牌。幸运的是,Laravel可以在这里帮助您。在您的可通知模型中,您可以定义routeNotifiactionForTwitter
方法。在这里您可以覆盖提供的设置。
public function routeNotificationForTwitter($notification) { return [ 'TWITTER_CONSUMER_KEY', 'TWITTER_CONSUMER_SECRET', 'TWITTER_ACCESS_TOKEN', 'TWITTER_ACCESS_SECRET', ]; }
变更日志
请参阅变更日志获取有关最近更改的更多信息。
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件c.rumpel@kabsi.at联系,而不是使用问题跟踪器。
贡献
请参阅贡献指南获取详细信息。
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可文件。