tobur/simple-skype-bot

此包的最新版本(v0.2)没有提供许可证信息。

安装: 7

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v0.2 2018-03-07 17:15 UTC

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