tobur / simple-skype-bot
此包的最新版本(v0.2)没有提供许可证信息。
v0.2
2018-03-07 17:15 UTC
Requires
- php: >=7.1.3
- guzzlehttp/guzzle: 6.3.0
- symfony/monolog-bundle: ^3.1
- symfony/orm-pack: ^1.0
- symfony/yaml: ^4.0
This package is not auto-updated.
Last update: 2024-09-22 03:07:20 UTC
README
安装
composer require tobur/simple-skype-bot
SimpleSkypeBot\SimpleSkypeBotBundle::class => ['all' => true]
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="skype_token")
*/
class SkypeToken extends \SimpleSkypeBot\Model\SkypeToken
{
}
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="skype_user")
*/
class SkypeUser extends \SimpleSkypeBot\Model\SkypeUser
{
}
simple_skype_bot:
token_class: 'App\Entity\SkypeToken'
user_class: 'App\Entity\SkypeUser'
client_id: 'some client id'
client_secret: 'some secret'
您应该在 https://dev.botframework.com/bots/new 上创建应用程序和机器人。
将您的端点放到主路由中。
skype_endpoint:
resource: '@SimpleSkypeBotBundle/Resources/config/routing.yaml'
prefix: /
对于您的机器人,您应该设置api端点。在开发过程中,您可以使用 https://ngrok.com/ 的http隧道。
./ngrok http 80
例如,对于开发,您可以使用:https://somecode.ngrok.io/api/messages
将您的机器人添加到Skype中。 https://join.skype.com/bot/your-code-here
如何处理消息的示例
<?php
namespace App\Subscriber;
use SimpleSkypeBot\DTO\MessageDTO;
use SimpleSkypeBot\Event\NewMessageEvent;
use SimpleSkypeBot\Exceptions\SimpleSkypeBotException;
use SimpleSkypeBot\Service\SkypeBotManager;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class SkypeSubscriber implements EventSubscriberInterface
{
/**
* @var SkypeBotManager
*/
protected $botManager;
/**
* @param SkypeBotManager $botManager
*/
public function __construct(SkypeBotManager $botManager) {
$this->botManager = $botManager;
}
/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
NewMessageEvent::NAME => 'handleNewMessage'
];
}
/**
* @param NewMessageEvent $event
* @throws SImpleSkypeBotException
* @throws \Doctrine\ORM\ORMException
* @throws \Doctrine\ORM\OptimisticLockException
* @throws \SimpleSkypeBot\Service\SimpleSkypeBotException
*/
public function handleNewMessage(NewMessageEvent $event)
{
/** @var MessageDTO $messageDTO */
$messageDTO = $event->getData();
$messageDTO->setText('Hello man!');
$this->botManager->sendMessage($messageDTO);
}
}
一些默认的Skype命令,将它们与您的机器人一起放入Skype中
.save my_skype_login
然后您可以使用
php bin/console simply-skype-bot:send-message my_skype_login Hi