Skip to content

Commit

Permalink
Update | Beta 5.1.6
Browse files Browse the repository at this point in the history
  • Loading branch information
gncdev committed Sep 3, 2020
1 parent aaae009 commit 8d35dde
Show file tree
Hide file tree
Showing 13 changed files with 494 additions and 48 deletions.
34 changes: 19 additions & 15 deletions src/Bot.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
use Exception;
use Ourted\Interfaces\Channel;
use Ourted\Interfaces\Guild;
use Ourted\Interfaces\Invite;
use Ourted\Interfaces\Member;
use Ourted\Interfaces\User;
use Ourted\Model\Message\Embed;
use Ourted\Utils\API;
Expand All @@ -17,6 +19,17 @@

class Bot
{

static $GUILD_TEXT = 0;
static $DM = 1;
static $GUILD_VOICE = 2;
static $GROUP_DM = 3;
static $GUILD_NEWS = 4;
static $GUILD_STORE = 5;




/**
* State
* @var State
Expand Down Expand Up @@ -49,6 +62,10 @@ class Bot
public $guild;
/** @var User */
public $user;
/** @var Member */
public $member;
/** @var Invite */
public $invite;
/**
* Default WSS URL (from the Discord API docs)
* @var string
Expand Down Expand Up @@ -101,6 +118,8 @@ public function __construct($botToken, $botPrefix, $wssUrl = null)
$this->token = $botToken;
$this->settings = new Settings($this);
$this->channel = new Channel($this);
$this->member = new Member($this);
$this->invite = new Invite($this);
$this->guild = new Guild($this);
$this->user = new User($this);
$this->api = new API($this);
Expand All @@ -121,33 +140,18 @@ public function init()
$state->addDispatch($this->dispatch);






$conn->on('message', function (MessageInterface $msg) use ($conn, $state) {
$json = json_decode($msg);
$state->action($json, $this->loop);
});




$conn->on('close', function ($code = null, $reason = null) {
echo "Connection closed ({$code} - {$reason})\n";
die();
});











}, function (Exception $e) {
echo "Could not connect: {$e->getMessage()}\n";
$this->stop();
Expand Down
6 changes: 2 additions & 4 deletions src/Interfaces/Channel.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Ourted\Bot;
use Ourted\Model\Message\Message;
use stdClass;

class Channel{

Expand Down Expand Up @@ -38,7 +37,7 @@ public function sendMessage($message, $channel){
* Deleting Message
*
* @return bool|string
* @var Message|stdClass $message
* @var Message $message
*/

public function deleteMessage($message)
Expand Down Expand Up @@ -96,8 +95,7 @@ public function getMessage($channel, $message_id)
* @return mixed
*/
public function deleteChannel($channel){
return json_decode($this->bot->api->init_curl_with_header("/channels/{$channel->id}","", "DELETE"));
return json_decode($this->bot->api->init_curl_with_header("channels/{$channel->id}","", "DELETE"));
}


}
65 changes: 65 additions & 0 deletions src/Interfaces/Emoji.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?php

namespace Ourted\Interfaces;

use Ourted\Bot;

class Emoji
{

/** @var Bot */
private $bot;

public function __construct($bot)
{
$this->bot = $bot;
}

/**
* @param \Ourted\Model\Guild\Guild $guild
* @return \Ourted\Model\Guild\Emoji
*/
public function getEmojis($guild)
{
return json_decode($this->bot->api->init_curl_with_header(
"guilds/{$guild->id}/emojis",
"", "GET"));
}

/**
* @param \Ourted\Model\Guild\Guild $guild
* @param string
* @param mixed
* @return \Ourted\Model\Guild\Emoji
*/
public function createEmoji($guild, $name, $image)
{
return $this->getEmoji($guild, json_decode($this->bot->api->init_curl_with_header(
"guilds/{$guild->id}/emojis",
"{\"name\":\"{$name}\",\"image\":\"{$image}\",\"roles\":\"[]\"}"))->id);
}

/**
* @param \Ourted\Model\Guild\Guild $guild
* @param $emoji_id
* @return \Ourted\Model\Guild\Emoji
*/
public function getEmoji($guild, $emoji_id)
{
return new \Ourted\Model\Guild\Emoji($this->bot, $guild->id, $emoji_id);
}

/**
* @param \Ourted\Model\Guild\Guild $guild
* @param \Ourted\Model\Guild\Emoji
* @return \Ourted\Model\Guild\Emoji
*/
public function deleteEmoji($guild, $emoji)
{
return $this->getEmoji($guild, json_decode($this->bot->api->init_curl_with_header(
"guilds/{$guild->id}/emojis/{$emoji->id}",
"", "DELETE"))->id);
}


}
112 changes: 104 additions & 8 deletions src/Interfaces/Guild.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
namespace Ourted\Interfaces;

use Ourted\Bot;
use Ourted\Model\Guild\Integration;
use Ourted\Model\Role\Role;

class Guild{
class Guild
{

/** @var Bot */
private $bot;
Expand All @@ -29,7 +31,8 @@ public function get_guilds_properties()
"", "GET"));
}

public function getGuild($id){
public function getGuild($id)
{
return new \Ourted\Model\Guild\Guild($this->bot, $id);
}

Expand All @@ -39,7 +42,8 @@ public function getGuild($id){
* @param $role_id int|string
* @return Role
*/
public function getRole($guild, $role_id){
public function getRole($guild, $role_id)
{
return new Role($this->bot, $guild, $role_id);
}

Expand All @@ -48,7 +52,8 @@ public function getRole($guild, $role_id){
* @param $guild \Ourted\Model\Guild\Guild
* @return Role
*/
public function getRoles($guild){
public function getRoles($guild)
{
return new Role($this->bot, $guild);
}

Expand All @@ -58,10 +63,41 @@ public function getRoles($guild){
* @param $guild \Ourted\Model\Guild\Guild
* @return mixed
*/
public function getChannels($guild){
return json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/channels","", "GET"));
public function getChannels($guild)
{
return json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/channels", "", "GET"));
}

/**
*
* @param $guild \Ourted\Model\Guild\Guild
* @return mixed
*/
public function getPrune($guild)
{
return json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/prunes", "", "GET"));
}

/**
*
* @param $guild \Ourted\Model\Guild\Guild
* @return mixed
*/
public function getInvites($guild)
{
return json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/invites", "", "GET"));
}


/**
*
* @param $guild \Ourted\Model\Guild\Guild
* @return mixed
*/
public function getIntegrations($guild)
{
return new Integration($this->bot, $guild->id);
}


/**
Expand All @@ -73,8 +109,68 @@ public function getChannels($guild){
* @param bool $hoist
* @return Role
*/
public function addRole($guild, $role_name, $color, $mentionable, $hoist){
$result = json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/roles","{\"name\":\"{$role_name}\", \"color\":\"{$color}\", \"hoist\":{$hoist}, \"mentionable\":{$mentionable}}", "POST"));
public function addRole($guild, $role_name, $color, $mentionable, $hoist)
{
$result = json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/roles", "{\"name\":\"{$role_name}\", \"color\":\"{$color}\", \"hoist\":{$hoist}, \"mentionable\":{$mentionable}}", "POST"));
return new Role($this->bot, $guild, $result->id);
}

/**
*
* @param \Ourted\Model\Guild\Guild $guild
* @param string $role_name
* @param int|string $color
* @param bool $mentionable
* @param bool $hoist
* @return Role
*/
public function modifyRole($guild, $role_name = null, $color = null, $mentionable = null, $hoist = null)
{
$result = json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/roles", "{\"name\":\"{$role_name}\", \"color\":\"{$color}\", \"hoist\":{$hoist}, \"mentionable\":{$mentionable}}", "PATCH"));
return new Role($this->bot, $guild, $result->id);
}

/**
*
* @param \Ourted\Model\Guild\Guild $guild
* @param string|int $role_id
* @return Role
*/
public function deleteRole($guild, $role_id)
{
$result = json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/roles/{$role_id}", "", "DELETE"));
return new Role($this->bot, $guild, $result->id);
}

/**
*
* @param \Ourted\Model\Guild\Guild $guild
* @param string
* @param int
* @param string
* @param int
* @param int
* @param int
* @param int
* @param int
* @param bool
* @return \Ourted\Model\Channel\Channel
*/
public function createChannel($guild, $channel_name, $type = 0, $topic = "", $bitrate = 0, $user_limit = 0, $rate_limit_per_user = 0, $position = 0, $parent_id = 0, $nsfw = false)
{
$result = json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/channels", "{\"name\": \"{$channel_name}\", \"type\": {$type}, \"topic\", \"{$topic}\", \"bitrate\":{$bitrate}, \"user_limit\": {$user_limit}, \"rate_limit_per_user\": {$rate_limit_per_user}, \"position\":{$position}, \"parent_id\": {$parent_id}, \"nsfw\": {$nsfw}}", "POST"));
return new \Ourted\Model\Channel\Channel($this->bot, $result->id);
}

/**
*
* @param \Ourted\Model\Guild\Guild $guild
* @param \Ourted\Model\Channel\Channel
* @param int
*/
public function changeChannelPosition($guild, $channel, $position)
{
$result = json_decode($this->bot->api->init_curl_with_header("guilds/{$guild->id}/channels", "{\"id\":{$channel->id}, \"position\":{$position}}", "PATCH"));
return new \Ourted\Model\Channel\Channel($this->bot, $result->id);
}
}
25 changes: 25 additions & 0 deletions src/Interfaces/Invite.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php

namespace Ourted\Interfaces;

use Ourted\Bot;

class Invite{

/** @var Bot */
private $bot;

public function __construct($bot)
{
$this->bot = $bot;
}

/**
*
* @param int|string $invite_code
* @return mixed
*/
public function getInvite($invite_code){
return new \Ourted\Model\Invite\Invite($this->bot, $invite_code);
}
}
Loading

0 comments on commit 8d35dde

Please sign in to comment.