123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using InABox.API;
- using InABox.Core;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Twilio;
- using Twilio.Rest.Api.V2010.Account;
- namespace InABox.Server
- {
- public class TwilioSMSProvider : ISMSProvider
- {
- public SMSProviderType ProviderType => SMSProviderType.Twilio;
- public TwoFactorAuthenticationType TwoFactorAuthenticationType => TwoFactorAuthenticationType.SMS;
- private string AccountSID { get; set; }
- private string AuthToken { get; set; }
- private string Number { get; set; }
- public TwilioSMSProvider(string accountSID, string authToken, string number)
- {
- AccountSID = accountSID;
- AuthToken = authToken;
- Number = number;
- TwilioClient.Init(accountSID, authToken);
- }
- public bool SendMessage(string recipient, string message)
- {
- var messageResource = MessageResource.Create(
- body: message,
- from: new Twilio.Types.PhoneNumber(Number),
- to: new Twilio.Types.PhoneNumber(recipient)
- );
- return true;
- }
- }
- }
|