<commit_before><?php

/*
 * This file is apart of the DiscordPHP project.
 *
 * Copyright (c) 2016 <NAME> <<EMAIL>>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the LICENSE.md file.
 */

namespace Discord\Parts\Guild;

use Discord\Helpers\Collection;
use Discord\Parts\Channel\Channel;
use Discord\Parts\Part;
use Discord\Parts\User\Member;
use Discord\Repository\Guild\BanRepository;
use Discord\Repository\Guild\ChannelRepository;
use Discord\Repository\Guild\InviteRepository;
use Discord\Repository\Guild\MemberRepository;
use Discord\Repository\Guild\RoleRepository;
use React\Promise\Deferred;

/**
 * A Guild is Discord's equivalent of a server. It contains all the Members, Channels, Roles, Bans etc.
 *
 * @property string                     $id
 * @property string                     $name
 * @property string                     $icon
 * @property string                     $region
 * @property string                     $owner_id
 * @property array|Role[]               $roles
 * @property \DateTime                  $joined_at
 * @property string                     $afk_channel_id
 * @property int                        $afk_timeout
 * @property bool                       $embed_enabled
 * @property string                     $embed_channel_id
 * @property array                      $features
 * @property string                     $splash
 * @property array                      $emojis
 * @property bool                       $large
 * @property int                        $verification_level
 * @property int                        $member_count
 * @property Collection|array|Channel[] $channels
 * @property Collection|array|Member[]  $members
 */
class Guild extends Part
{
    const REGION_DEFAULT = self::REGION_US_WEST;
    const REGION_US_WEST = 'us-west';
    const REGION_US_SOUTH = 'us-south';
    const REGION_US_EAST = 'us-east';
    const REGION_US_CENTRAL = 'us-central';
    const REGION_SINGAPORE = 'singapore';
    const REGION_LONDON = 'london';
    const REGION_SYDNEY = 'sydney';
    const REGION_FRANKFURT = 'frankfurt';
    const REGION_AMSTERDAM = 'amsterdam';
    const REGION_BRAZIL = 'brazil';

    const LEVEL_OFF = 0;
    const LEVEL_LOW = 1;
    const LEVEL_MEDIUM = 2;
    const LEVEL_TABLEFLIP = 3;

    /**
     * {@inheritdoc}
     */
    protected $fillable = [
        'id',
        'name',
        'icon',
        'region',
        'owner_id',
        'roles',
        'joined_at',<commit_msg>Updating typehint<commit_after><?php

/*
 * This file is apart of the DiscordPHP project.
 *
 * Copyright (c) 2016 <NAME> <<EMAIL>>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the LICENSE.md file.
 */

namespace Discord\Parts\Guild;

use Discord\Parts\Part;
use Discord\Parts\User\Member;
use Discord\Repository\Guild as Repository;
use React\Promise\Deferred;

/**
 * A Guild is Discord's equivalent of a server. It contains all the Members, Channels, Roles, Bans etc.
 *
 * @property string                       $id
 * @property string                       $name
 * @property string                       $icon
 * @property string                       $region
 * @property string                       $owner_id
 * @property \DateTime                    $joined_at
 * @property string                       $afk_channel_id
 * @property int                          $afk_timeout
 * @property bool                         $embed_enabled
 * @property string                       $embed_channel_id
 * @property array                        $features
 * @property string                       $splash
 * @property array                        $emojis
 * @property bool                         $large
 * @property int                          $verification_level
 * @property int                          $member_count
 * @property Repository\RoleRepository    $roles
 * @property Repository\ChannelRepository $channels
 * @property Repository\MemberRepository  $members
 * @property Repository\InviteRepository  $invites
 * @property Repository\BanRepository     $bans
 */
class Guild extends Part
{
    const REGION_DEFAULT = self::REGION_US_WEST;
    const REGION_US_WEST = 'us-west';
    const REGION_US_SOUTH = 'us-south';
    const REGION_US_EAST = 'us-east';
    const REGION_US_CENTRAL = 'us-central';
    const REGION_SINGAPORE = 'singapore';
    const REGION_LONDON = 'london';
    const REGION_SYDNEY = 'sydney';
    const REGION_FRANKFURT = 'frankfurt';
    const REGION_AMSTERDAM = 'amsterdam';
    const REGION_BRAZIL = 'brazil';

    const LEVEL_OFF = 0;
    const LEVEL_LOW = 1;
    const LEVEL_MEDIUM = 2;
    const LEVEL_TABLEFLIP = 3;

    /**
     * {@inheritdoc}
     */
    protected $fillable = [
        'id',
        'name',
        'icon',
        'region',
        'owner_id',
        'roles',
        'joined_at',
{'fraction_non_alphanumeric': 0.09222607631095694, 'fraction_numerical': 0.0032646398694144052, 'mean_word_length': 2.031539888682746, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '226707', 'n_tokens_mistral': 1469, 'n_tokens_neox': 1406, 'n_words': 374}