Exemplo n.º 1
0
 /**
  * Main function for building up a ping and sending it off. First checks if the type is valid.
  * Called after the input from the slash command has been parsed, or can be called by external scripts.
  *
  * @param String $type
  * @param String $message
  * @param String $sender
  *
  * @return bool
  */
 public function ping($type, $message, $sender)
 {
     if (!$this->isValidPingType($type)) {
         return false;
     }
     $payload = $this->makePayload($type, $message, $sender);
     if ($this->slack->sendMessageToServer($payload)) {
         $this->returnMessage = 'Ping sent';
         if (config('pingbot.ping-bots.' . $type . '.announce')) {
             $this->slack->sendMessageToServer($this->announcementPayload($type, $sender));
         }
         return true;
     }
     return false;
 }
Exemplo n.º 2
0
 /**
  * @param $channel
  * @throws SlackException
  */
 public function manageChannel($channel)
 {
     $channelIds = [];
     $channelUsers = $channel->is_group ? $this->slackMonkey->getUsersForGroup($channel->slack_id) : $this->slackMonkey->getUsersForChannel($channel->slack_id);
     foreach ($channelUsers as $user) {
         $channelIds[] = $user;
         $hasAccess = false;
         foreach ($channel->groups as $group) {
             /** @var \JamylBot\Group $group */
             if ($group->isMemberBySlack($user)) {
                 $hasAccess = true;
             }
         }
         if (!$hasAccess && $user != config('slack.jamyl-id')) {
             $channel->is_group ? $this->slackMonkey->kickFromGroup($user, $channel->slack_id) : $this->slackMonkey->kickFromChannel($user, $channel->slack_id);
         }
     }
     foreach ($channel->groups as $group) {
         foreach ($group->users as $jamylUser) {
             if (!in_array($jamylUser->slack_id, $channelIds) && $group->isMemberBySlack($jamylUser->slack_id)) {
                 $channel->is_group ? $this->slackMonkey->addToGroup($jamylUser->slack_id, $channel->slack_id) : $this->slackMonkey->addToChannel($jamylUser->slack_id, $channel->slack_id);
             }
         }
     }
 }
Exemplo n.º 3
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire(SlackMonkey $slackMonkey)
 {
     $payload = ['channel' => '#p-drama', 'username' => config('pingbot.ping-bot-name'), 'icon_emoji' => config('pingbot.ping-bot-emoji'), 'text' => 'HAPPY BIRTHDAY @punkslap', 'link_names' => 1];
     $slackMonkey->sendMessageToServer($payload);
 }