Skip to content

Commit d080b6a

Browse files
author
Aboozar Ghaffari
authored
Merge pull request #10 from daviidbolhasani/Discord
Added discord adapter
2 parents d31b371 + 6e58edf commit d080b6a

File tree

5 files changed

+60
-1
lines changed

5 files changed

+60
-1
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,19 @@ return [
7777
'api_key' => env('IRANIANSMS_GHASEDAK_APIKEY', 'test'),
7878
'sender' => env('IRANIANSMS_GHASEDAK_SENDER', 'test'),
7979
],
80+
81+
'slack' => [
82+
'url' => env('IRANIANSMS_SLACK_URL')
83+
],
84+
85+
'discord' => [
86+
'url' => env('IRANIANSMS_DISCORD_URL')
87+
],
88+
89+
'parsasms' => [
90+
'gateway' => env('IRANIANSMS_PARSASMS_GATEWAY','http://api.parsasms.com/v2/sms/send/simple'),
91+
'api_key' => env('IRANIANSMS_PARSASMS_APIKEY','test'),
92+
'sender' => env('IRANIANSMS_PARSASMS_SENDER','test')
93+
]
8094
];
8195
```

config/iranian_sms.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@
3232
'url' => env('IRANIANSMS_SLACK_URL')
3333
],
3434

35+
'discord' => [
36+
'url' => env('IRANIANSMS_DISCORD_URL')
37+
],
38+
3539
'parsasms' => [
3640
'gateway' => env('IRANIANSMS_PARSASMS_GATEWAY','http://api.parsasms.com/v2/sms/send/simple'),
3741
'api_key' => env('IRANIANSMS_PARSASMS_APIKEY','test'),

src/Adapter/Discord.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace Tartan\IranianSms\Adapter;
4+
5+
class Discord extends AdapterAbstract implements AdapterInterface
6+
{
7+
public $url;
8+
9+
public function __construct()
10+
{
11+
$this->url = config('iranian_sms.discord.url');
12+
}
13+
14+
public function send(string $number, string $message)
15+
{
16+
$number = $this->filterNumber($number);
17+
18+
$data = json_encode(['text' => "To: $number - Message: $message"]);
19+
20+
$ch = curl_init($this->url);
21+
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
22+
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
23+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
24+
curl_setopt($ch, CURLOPT_HEADER, array('Content-Type: application/json'));
25+
$data = curl_exec($ch);
26+
27+
if(curl_errno($ch)){
28+
throw new Exception(curl_error($ch));
29+
}
30+
31+
return $data;
32+
}
33+
}

src/Adapter/Slack.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public function send(string $number, string $message)
1717
{
1818
$number = $this->filterNumber($number);
1919

20-
$data = json_encode(['text' => "To: $number - Message: $message"]);
20+
$data = json_encode(['content' => "To: $number - Message: $message"]);
2121

2222
$ch = curl_init($this->url);
2323
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

src/Factory.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
namespace Tartan\IranianSms;
44

5+
use Tartan\IranianSms\Adapter\Discord;
56
use Tartan\IranianSms\Adapter\Ghasedak;
67
use Tartan\IranianSms\Adapter\MehrAfzar;
78
use Tartan\IranianSms\Adapter\KaveNegar;
9+
use Tartan\IranianSms\Adapter\ParsaSms;
810
use Tartan\IranianSms\Adapter\Slack;
911
use Tartan\IranianSms\Adapter\SmsIr;
1012
use Tartan\IranianSms\Adapter\SmsLog;
@@ -37,6 +39,12 @@ public function make($adapter = '')
3739
case 'ghasedak':
3840
return new Ghasedak();
3941
break;
42+
case 'discord':
43+
return new Discord();
44+
break;
45+
case 'parsasms':
46+
return new ParsaSms();
47+
break;
4048
default:
4149
throw new Exception('Adapter not defined');
4250
break;

0 commit comments

Comments
 (0)