Models¶
These are the data models used by the API. All calls will return one of these
Due to the unpredictable nature of the API and what it returns, all attributes
have the possibility of being None
. However, as much as possible, the library tries
to return an object most appropriate to results returned.
Due to this, there are many objects for what may seem like similar things.
Clans¶
Base Clan¶
- class coc.BaseClan¶
An ABC that implements some common operations on clans, regardless of type.
Methods:
get_detailed_members
([cls, load_game_data])Get detailed player information for every player in the clan.
Attributes:
str
- A formatted link to open the clan in-game- get_detailed_members(cls: Type[Player] = None, load_game_data: bool = None) AsyncIterator[Player] ¶
Get detailed player information for every player in the clan.
This returns a
PlayerIterator
which fetches all player tags in the clan in parallel.Example
clan = await client.get_clan('tag') async for player in clan.get_detailed_members(): print(player.name)
- Yields
Player
– A full player object of a clan member.
str
- A formatted link to open the clan in-game
Player Clan¶
- class coc.PlayerClan¶
Represents a clan that belongs to a player.
Methods:
get_detailed_members
([cls, load_game_data])Get detailed player information for every player in the clan.
Attributes:
str
- A formatted link to open the clan in-game- get_detailed_members(cls: Type[Player] = None, load_game_data: bool = None) AsyncIterator[Player] ¶
Get detailed player information for every player in the clan.
This returns a
PlayerIterator
which fetches all player tags in the clan in parallel.Example
clan = await client.get_clan('tag') async for player in clan.get_detailed_members(): print(player.name)
- Yields
Player
– A full player object of a clan member.
str
- A formatted link to open the clan in-game
Ranked Clan¶
- class coc.RankedClan¶
Represents the clan object returned by leader-board rankings.
- points¶
The clan’s trophy-count. If retrieving info for versus leader-boards, this will be
None
.- Type
- versus_points¶
The clan’s versus trophy count. If retrieving info for regular leader boards, this will be
None
.- Type
Methods:
get_detailed_members
([cls, load_game_data])Get detailed player information for every player in the clan.
Attributes:
str
- A formatted link to open the clan in-game- get_detailed_members(cls: Type[Player] = None, load_game_data: bool = None) AsyncIterator[Player] ¶
Get detailed player information for every player in the clan.
This returns a
PlayerIterator
which fetches all player tags in the clan in parallel.Example
clan = await client.get_clan('tag') async for player in clan.get_detailed_members(): print(player.name)
- Yields
Player
– A full player object of a clan member.
str
- A formatted link to open the clan in-game
War Clan¶
- class coc.WarClan¶
Represents a War Clan that the API returns.
Note
If this is called via
ClanWarLog.clan
, thenWarClan.members
,WarClan.attacks
andWarClan.defenses
will be empty.If this is called via
ClanWarLog.opponent
, thenWarClan.members
,WarClan.attacks
andWarClan.defenses
will be empty.WarClan.exp_earned
andWarClan.attacks
will beNone
.If this is called via
ClanWar.clan
orClanWar.opponent
thenWarClan.exp_earned
will beNone
.Attributes:
Indicates whether the clan is the opponent.
str
- A formatted link to open the clan in-gameMethods:
get_detailed_members
([cls, load_game_data])Get detailed player information for every player in the clan.
get_member
(tag)Get a member of the clan for the given tag, or
None
if not found.- attacks¶
Returns all clan member’s attacks this war. This is sorted by attack order.
- Type
List[
WarAttack
]
- defenses¶
Returns all clan member’s defenses this war. This is sorted by attack order.
Equivalent to the other team’s
.attacks
property.- Type
List[
WarAttack
]
- get_detailed_members(cls: Type[Player] = None, load_game_data: bool = None) AsyncIterator[Player] ¶
Get detailed player information for every player in the clan.
This returns a
PlayerIterator
which fetches all player tags in the clan in parallel.Example
clan = await client.get_clan('tag') async for player in clan.get_detailed_members(): print(player.name)
- Yields
Player
– A full player object of a clan member.
- get_member(tag: str) Optional[coc.war_members.ClanWarMember] ¶
Get a member of the clan for the given tag, or
None
if not found.- Returns
The clan member who matches the tag.
- Return type
Optional[
ClanWarMember
]
- members¶
A list of members that are in the war. This is sorted by
ClanWarMember.map_position
- Type
List[
ClanWarMember
]
str
- A formatted link to open the clan in-game
Clan War League Clan¶
- class coc.ClanWarLeagueClan¶
Represents a Clan War League Clan.
Methods:
get_detailed_members
([cls, load_game_data])Get detailed player information for every player in the clan.
Attributes:
str
- A formatted link to open the clan in-game- get_detailed_members(cls: Type[Player] = None, load_game_data: bool = None) AsyncIterator[Player] ¶
Get detailed player information for every player in the clan.
This returns a
PlayerIterator
which fetches all player tags in the clan in parallel.Example
clan = await client.get_clan('tag') async for player in clan.get_detailed_members(): print(player.name)
- Yields
Player
– A full player object of a clan member.
- members¶
A list of players participating in this clan war league season.
This list is selected when the clan chooses to participate in CWL, and will not change throughout the season. It is sometimes referred to as the master roster.
- Type
List[
ClanWarLeagueClanMember
]
str
- A formatted link to open the clan in-game
Clan¶
- class coc.Clan¶
Represents a Clash of Clans clan.
- versus_points¶
The clan’s versus trophy count. This is calculated according to members’ versus trophy counts.
- Type
- war_frequency¶
The frequency for when this clan goes to war. For example, this could be
always
.- Type
- public_war_log¶
Indicates if the clan has a public war log. If this is
False
, operations to find the clan’s current war may raisePrivateWarLog
.- Type
- label_cls¶
The type which the labels found in
Clan.labels
will be of. Ensure any overriding of this inherits fromcoc.Label
.- Type
- member_cls¶
The type which the members found in
Clan.members
will be of. Ensure any overriding of this inherits fromcoc.ClanMember
.- Type
- war_league¶
The clan’s CWL league.
- Type
Methods:
get_detailed_members
([cls, load_game_data])Get detailed player information for every player in the clan.
get_member
(tag)Return a
ClanMember
with the tag provided.get_member_by
(**attrs)Returns the first
ClanMember
that meets the attributes passedAttributes:
str
- A formatted link to open the clan in-game- get_detailed_members(cls: Type[Player] = None, load_game_data: bool = None) AsyncIterator[Player] ¶
Get detailed player information for every player in the clan.
This returns a
PlayerIterator
which fetches all player tags in the clan in parallel.Example
clan = await client.get_clan('tag') async for player in clan.get_detailed_members(): print(player.name)
- Yields
Player
– A full player object of a clan member.
- get_member(tag: str) Optional[coc.players.ClanMember] ¶
Return a
ClanMember
with the tag provided. ReturnsNone
if not found.Example
clan = await client.get_clan('clan_tag') member = clan.get_member('player_tag')
- Returns
The member who matches the tag provided
- Return type
Optional[
ClanMember
]
- get_member_by(**attrs) Optional[coc.players.ClanMember] ¶
Returns the first
ClanMember
that meets the attributes passedThis search implements the
coc.utils.get()
functionExample
- members¶
A list of members that belong to the clan.
- Type
List[
ClanMember
]
str
- A formatted link to open the clan in-game
Players¶
Base Player¶
Clan Member¶
- class coc.ClanMember¶
Represents a Clash of Clans Clan Member.
- role¶
The member’s role in a clan. To get a string as rendered in-game, do
str(member.role)
.- Type
- clan_previous_rank¶
The member’s rank before the last leaderboard change (ie if Bob overtakes Jim in trophies, and they switch ranks on the leaderboard, and you want to find out their previous rankings, this will help.).
- Type
- clan_cls¶
The class to use to create the
ClanMember.clan
attribute. Ensure any overriding of this inherits fromcoc.Clan
orcoc.PlayerClan
.- Type
- league_cls¶
The class to use to create the
Clanmember.league
attribute. Ensure any overriding of this inherits fromcoc.League
.- Type
Methods:
Get detailed clan details for the player’s clan.
Attributes:
str
- A formatted link to open the player in-game- await get_detailed_clan() Optional[Clan] ¶
Get detailed clan details for the player’s clan. If the player’s clan is
None
,this will returnNone
.Example
player = await client.get_player('tag') clan = await player.get_detailed_clan()
str
- A formatted link to open the player in-game
Ranked Player¶
- class coc.RankedPlayer¶
Represents a leaderboard-ranked player.
- attack_wins¶
The player’s number of attack wins. If retrieving info for versus leader-boards, this will be
None
.- Type
- defense_wins¶
The player’s number of defense wins. If retrieving info for versus leader-boards, this will be
None
.- Type
- versus_trophies¶
The player’s versus trophy count. If retrieving info for regular leader-boards, this will be
None
.- Type
- previous_rank¶
The member’s rank before the last clan leaderboard change (ie if Bob overtakes Jim in trophies, and they switch ranks on the leaderboard, and you want to find out their previous rankings, this will help.).
- Type
Methods:
Get detailed clan details for the player’s clan.
Attributes:
str
- A formatted link to open the player in-game- await get_detailed_clan() Optional[Clan] ¶
Get detailed clan details for the player’s clan. If the player’s clan is
None
,this will returnNone
.Example
player = await client.get_player('tag') clan = await player.get_detailed_clan()
str
- A formatted link to open the player in-game
Clan War League Clan Member¶
Clan War Member¶
- class coc.ClanWarMember¶
Represents a War Member that the API returns. Depending on which method calls this, some attributes may be
None
.Attributes:
The member’s attacks this war.
Returns the best opponent attack on this base.
The member’s defenses this war.
Indicates whether the member is from the opponent clan or not.
Returns the previous best opponent attack on this base.
str
- A formatted link to open the player in-gameGet the total number of stars the member has gained this war.
- property attacks: List[coc.war_attack.WarAttack]¶
The member’s attacks this war. Could be an empty list.
- Type
List[
WarAttack
]
- property best_opponent_attack: coc.war_attack.WarAttack¶
Returns the best opponent attack on this base.
- Type
- property defenses: List[coc.war_attack.WarAttack]¶
The member’s defenses this war. Could be an empty list.
- Type
List[
WarAttack
]
- property is_opponent: bool¶
Indicates whether the member is from the opponent clan or not.
- Type
- property previous_best_opponent_attack¶
Returns the previous best opponent attack on this base.
This is useful for calculating the new stars and/or destruction for new attacks.
- Type
str
- A formatted link to open the player in-game
Player¶
- class coc.Player¶
Represents a Clash of Clans Player.
- achievement_cls¶
The constructor used to create the
Player.achievements
list. This must inheritAchievement
.- Type
- hero_cls¶
The constructor used to create the
Player.heroes
list. This must inherit fromHero
.- Type
- label_cls¶
The constructor used to create the
Player.labels
list. This must inherit fromLabel
.- Type
- spell_cls¶
The constructor used to create the
Player.spells
list. This must inherit fromSpell
.- Type
- troop_cls¶
The constructor used to create the
Player.troops
list. This must inherit fromTroop
.- Type
- town_hall_weapon¶
The player’s town hall weapon level, or
None
if it doesn’t exist.- Type
Optional[
int
]
- legend_statistics¶
The player’s legend statistics, or
None
if they have never been in the legend league.- Type
Optional[
LegendStatistics
]
Attributes:
str
- A formatted link to open the player in-gameMethods:
get_achievement
(name[, default_value])Returns an achievement with the given name.
Get detailed clan details for the player’s clan.
get_hero
(name[, default_value])Returns a hero with the given name.
get_spell
(name[, default_value])Returns a spell with the given name.
get_troop
(name[, is_home_troop, default_value])Returns a troop with the given name.
Load game data for this player’s troops and spells.
- achievements¶
A list of the player’s achievements.
- Type
List[
Achievement
]
- builder_troops¶
A
List
of the player’s builder-baseTroop
.This will return troops in the order found in both barracks and labatory in-game.
This includes: - Builder troops
- Type
List[
Troop
]
- get_achievement(name: str, default_value=None) Optional[coc.miscmodels.Achievement] ¶
Returns an achievement with the given name.
- Parameters
name (
str
) – The name of an achievement as found in-game.default_value – The value to return if the
name
is not found. Defaults toNone
.
- Returns
The returned achievement or the
default_value
if not found, which defaults toNone
..- Return type
Optional[
Achievement
]
- await get_detailed_clan() Optional[Clan] ¶
Get detailed clan details for the player’s clan. If the player’s clan is
None
,this will returnNone
.Example
player = await client.get_player('tag') clan = await player.get_detailed_clan()
- get_hero(name: str, default_value=None) Optional[coc.hero.Hero] ¶
Returns a hero with the given name.
- get_spell(name: str, default_value=None) Optional[coc.spell.Spell] ¶
Returns a spell with the given name.
- get_troop(name: str, is_home_troop=None, default_value=None) Optional[coc.troop.Troop] ¶
Returns a troop with the given name.
- Parameters
name (
str
) – The name of a troop as found in-game.is_home_troop (
bool
) – Whether the troop you’re trying to find is a home troop. This changes how the lookup is done, in order to facilitate searching for aBaby Dragon
. By default, this will search from both builder and home troops.default_value – The value to return if the
name
is not found. Defaults toNone
.
- Returns
The returned troop or the
default_value
if not found, which defaults toNone
..- Return type
Optional[
Troop
]
- hero_pets¶
A
List
of the player’s hero pets.This will return hero pets in the order found in the Pet House in-game.
This includes: - Hero pets only.
- Type
List[
Troop
]
- heroes¶
A
List
of the player’sHero
.This will return heroes in the order found in the store and labatory in-game.
- Type
List[
Hero
]
- home_troops¶
A
List
of the player’s home-baseTroop
.This will return troops in the order found in both barracks and labatory in-game.
This includes: - Elixir Troops (Barbarian, Balloon, etc.) - Dark Elixir Troops (Minion, Hog Rider, etc.) - Siege Machines (Log Launcher, etc.) - Boosted Super Troops
- Type
List[
Troop
]
- load_game_data()¶
Load game data for this player’s troops and spells.
Note
This is not the preferred way to load game data. The best way to load game data is to pass
load_game_data=True
into yourget_player
call, or to haveload_game_data=LoadGameData(default=True)
in your client initiation.This method is provided as a utility for events where loading game data is not desirable unless a change has been observed.
Note
This operation may be slow if you have not loaded the game files during the current session yet.
str
- A formatted link to open the player in-game
- siege_machines¶
A
List
of the player’s siege-machineTroop
.This will return siege machines in the order found in both barracks and labatory in-game.
This includes: - Siege machines only.
- Type
List[
Troop
]
- spells¶
A
List
of the player’sSpell
ordered as they appear in-game.This will return spells in the order found in both spell factory and labatory in-game.
- Type
List[
Spell
]
- super_troops¶
A
List
of the player’s super troops.This will return super troops in the order found in the super troop boosting building, in game.
This includes: - All super troops, boosted or not.
- Type
List[
Troop
]
- troops¶
A
List
of the player’sTroop
.Troops are not ordered in this attribute. Use either
Player.home_troops
orPlayer.builder_troops
if you want an ordered list.This includes: - Elixir Troops (Barbarian, Balloon, etc.) - Dark Elixir Troops (Minion, Hog Rider, etc.) - Siege Machines (Log Launcher, etc.) - Boosted Super Troops - Builder Troops (Raged Barbarian, etc.)
This does not include: - Heroes - Hero Pets - Spells - Un-boosted Super Troops
- Type
List[
Troop
]
Wars¶
Clan War¶
- class coc.ClanWar¶
Represents a Current Clash of Clans War
- league_group¶
ClanWarLeagueGroup
: The war’s league group. This isNone
unless this is a Clan League War.
Attributes:
Returns all attacks this war, sorted by attack order.
Returns a boolean indicating if the war is a Clan War League (CWL) war.
A list of members that are in the war.
Returns the war status, based off the home clan.
Returns either
friendly
,random
orcwl
.Methods:
get_attack
(attacker_tag, defender_tag)Return the
WarAttack
with the attacker tag and defender tag provided.get_defenses
(defender_tag)get_member
(tag)Return a
ClanWarMember
with the tag provided.get_member_by
(**attrs)Returns the first
WarMember
that meets the attributes passed- property attacks: List[coc.war_attack.WarAttack]¶
Returns all attacks this war, sorted by attack order.
- Type
List[
WarAttack
]
- get_attack(attacker_tag: str, defender_tag: str) Optional[coc.war_attack.WarAttack] ¶
Return the
WarAttack
with the attacker tag and defender tag provided.If the attack was not found, this will return
None
.- Returns
The attack with the correct attacker and defender tags
- Return type
- get_defenses(defender_tag: str) List[coc.war_attack.WarAttack] ¶
Return a
list
ofWarAttack
for the defender tag provided.If the player has no defenses, this will return an empty list.
- Returns
The player’s defenses
- Return type
list`[:class:`WarAttack
]
- get_member(tag: str) Optional[ClanWarMember] ¶
Return a
ClanWarMember
with the tag provided. ReturnsNone
if not found.Example
war = await client.get_current_war('clan_tag') member = war.get_member('player_tag')
- Returns
Optional[:class:`ClanWarMember`]
- Return type
The member who matches the tag provided.
- get_member_by(**attrs) Optional[ClanWarMember] ¶
Returns the first
WarMember
that meets the attributes passedThis will return the first member matching the attributes passed.
An example of this looks like:
member = ClanWar.get_member(tag='tag')
This search implements the
coc.utils.get()
function
- property is_cwl: bool¶
Returns a boolean indicating if the war is a Clan War League (CWL) war.
- Type
- property members: List[ClanWarMember]¶
A list of members that are in the war.
- Type
List[
ClanWarMember
]
- property status: str¶
Returns the war status, based off the home clan.
Strings returned are determined by result and state, as listed below:
inWar
warEnded
winning
won
tied
tie
losing
lost
- Type
- property type: Optional[str]¶
Returns either
friendly
,random
orcwl
.This will returns
None
if the clan is not in war, orcwl
if the clan is in a league war.Possibilities for the length of preparation time for a friendly war include: 5 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, 16 hours, 20 hours or 24 hours.
- Type
Clan War Log Entry¶
- class coc.ClanWarLogEntry¶
Represents a Clash of Clans War Log Entry
Note
Please see the
WarClan
documention for a full list of missing attributes, as the clan and opponent attributes are only partially filled by the API.If the
ClanWarLogEntry.type
iscwl
, theWarClan.attack_count
,WarClan.stars
andWarClan.destruction
are all a total which over the period of that CWL season.In addition, if it is a CWL entry,
opponent
andresult
will beNone
.Attributes:
Boolean indicating if the entry is a Clan War League (CWL) entry.
Clan War League Group¶
- class coc.ClanWarLeagueGroup¶
Represents a Clan War League (CWL) Group
- rounds¶
List[List[
str
]]: A list of lists containing all war tags for each round.Note
This only returns the current or past rounds. Any future rounds filled with #0 war tags will not appear.
To find the number of rounds in this season, use
LeagueGroup.number_of_rounds
.
Attributes:
Methods:
get_wars
([cwl_round, cls])Returns war information for every war in a league round.
get_wars_for_clan
(clan_tag[, cls])Returns every war the clan has participated in this current CWL.
- clans¶
Returns all participating clans.
- Type
List[
LeagueClan
]
- get_wars(cwl_round: coc.enums.WarRound = WarRound.current_war, cls: Type[coc.wars.ClanWar] = <class 'coc.wars.ClanWar'>) AsyncIterator[coc.wars.ClanWar] ¶
Returns war information for every war in a league round.
This returns a
LeagueWarIterator
which fetches all wars in parallel.Example
group = await client.get_league_group('clan_tag') async for war in group.get_wars(): print(war.clan_tag)
- Parameters
cls (Type[
ClanWar
]: The constructor used to create the league war.) – This should inherit fromClanWar
.cwl_round (
WarRound
) – An enum detailing the type of round to get. Could becoc.WarRound.previous_war
,coc.WarRound.current_war
orcoc.WarRound.preparation
. This defaults tococ.WarRound.current_war
.
- Yields
ClanWar
– A war in the requested round.
- get_wars_for_clan(clan_tag: str, cls: Type[coc.wars.ClanWar] = <class 'coc.wars.ClanWar'>) AsyncIterator[coc.wars.ClanWar] ¶
Returns every war the clan has participated in this current CWL.
This returns a
LeagueWarIterator
which fetches all wars in parallel.Example
group = await client.get_league_group('#clan_tag') async for war in group.get_wars_for_clan('#clantag'): print(war.start_time)
WarAttack¶
- class coc.WarAttack¶
Represents a Clash of Clans War Attack
Attributes:
Returns the attacking player.
Returns the defending player.
Returns whether the attack is a fresh (first) attack on the defender.
- property attacker: ClanWarMember¶
Returns the attacking player.
- Type
- property defender: ClanWarMember¶
Returns the defending player.
- Type
- property is_fresh_attack: bool¶
Returns whether the attack is a fresh (first) attack on the defender.
- Type
boolean
Achievement¶
- class coc.Achievement¶
Represents a Clash of Clans Achievement.
Attributes:
Returns a boolean which indicates if the achievement belongs to the builder base
Returns a boolean which indicates whether the achievement is completed (3 stars achieved)
Returns a boolean which indicates if the achievement belongs to the home base
- property is_builder_base: bool¶
Returns a boolean which indicates if the achievement belongs to the builder base
- Type
- property is_completed: bool¶
Returns a boolean which indicates whether the achievement is completed (3 stars achieved)
- Type
Troop¶
- class coc.Troop¶
Represents a Troop object as returned by the API, optionally filled with game data.
- cooldown¶
The cooldown on this super troop before being able to be reactivated [Super Troops Only].
- Type
- min_original_level¶
The minimum level required of the original troop in order to boost this troop [Super Troops Only].
- Type
- original_troop¶
The “original” counterpart troop to this super troop [Super Troops Only].
- Type
Methods:
get_max_level_for_townhall
(townhall)Get the maximum level for a troop for a given townhall level.
Attributes:
bool
: Returns a boolean that indicates whether the troop is the max level for the player’s townhall level.- classmethod get_max_level_for_townhall(townhall)¶
Get the maximum level for a troop for a given townhall level.
- Parameters
townhall – The townhall level to get the maximum troop level for.
- Returns
The maximum troop level, or
None
if the troop hasn’t been unlocked at that level.- Return type
Hero¶
- class coc.Hero¶
Represents a Hero object as returned by the API, optionally filled with game data.
- ground_target¶
Whether the hero is ground-targetting. The Grand Warden is classified as ground targetting always.
- Type
- regeneration_time¶
The time required for this hero to regenerate after being “knocked out”.
- Type
Methods:
get_max_level_for_townhall
(townhall)Get the maximum level for a spell for a given townhall level.
Attributes:
Returns whether the hero is the max level for the player’s townhall level.
- classmethod get_max_level_for_townhall(townhall)¶
Get the maximum level for a spell for a given townhall level.
- Parameters
townhall – The townhall level to get the maximum troop level for.
- Returns
The maximum spell level.
- Return type
Spell¶
- class coc.Spell¶
Represents a Spell object as returned by the API, optionally filled with game data.
Methods:
get_max_level_for_townhall
(townhall)Get the maximum level for a spell for a given townhall level.
Attributes:
bool
: Returns a boolean that indicates whether the spell is the max level for the player’s townhall level.- classmethod get_max_level_for_townhall(townhall)¶
Get the maximum level for a spell for a given townhall level.
- Parameters
townhall – The townhall level to get the maximum troop level for.
- Returns
The maximum spell level, or
None
if the spell hasn’t been unlocked at that level.- Return type
League Objects¶
- class coc.League¶
Represents a Clash of Clans League
- localised_name¶
str
: A localised name of the location. The extent of the use of this is unknown at present.
Badge and Icons¶
- class coc.Badge¶
Represents a Clash Of Clans Badge.
Methods:
save
(filepath[, size])This function is a coroutine.
- await save(filepath, size=None) int ¶
This function is a coroutine.
Save this badge as a file-like object.
- Parameters
filepath (
os.PathLike
) – The filename to save the badge to.size (Optional[
str
]) – Eithersmall
,medium
orlarge
. The default ismedium
.
- Returns
The number of bytes written
- Return type
- Raises
HTTPException – Saving the badge failed.
NotFound – The URL was not found.
- class coc.Icon¶
Represents a Clash Of Clans Icon.
Methods:
save
(filepath[, size])This function is a coroutine.
- await save(filepath: str, size: Optional[str] = None) int ¶
This function is a coroutine.
Save this icon as a file-like object.
- Parameters
filepath (
os.PathLike
) – The filename to save the badge to.size (Optional[
str
]) – Eithertiny
,small
ormedium
. The default issmall
.
- Returns
:class:`int`
- Return type
The number of bytes written.
- Raises
HTTPException – Saving the badge failed.
NotFound – The URL was not found.
Timestamp¶
- class coc.Timestamp¶
Represents a Clash of Clans Timestamp
Attributes:
Returns the time in UTC now as a datetime object.
Returns the number of seconds until the timestamp.
Returns the timestamp as a UTC datetime object.
- property now: datetime.datetime¶
Returns the time in UTC now as a datetime object.
- Type
datetime
- property seconds_until: int¶
Returns the number of seconds until the timestamp. This may be negative.
- Type
- property time: datetime.datetime¶
Returns the timestamp as a UTC datetime object.
- Type
datetime
TimeDelta¶
- class coc.TimeDelta¶
Represents a Timedelta object corresponding to things that take time to do in the API.
Some examples include:
Upgrade times
Training times
Cooldown times
This object works in a very similar fashion to datetime’s timedelta object, but with a few more helpful attributes.
Note
You should not construct this yourself, instead use it from the attribute of an e.g.
Troop
model.- hours¶
The number of hours in the timedelta. This does not include days. For example, if an upgrade took 36 hours, the
.days
attribute would be 1, and.hours
would be 12.- Type
Methods:
Returns the total number of seconds in the time object.
Label¶
War League¶
Enumerations¶
The library provides some enumerations for certain types of strings, as well as orders for troops, spells and achievements that are used internally.
Corresponds to a member’s in-game role in the clan.
- class coc.Role¶
Returns a string that is rendered as the role appears in-game, ie
Co-Leader
orElder
.str(member.role)
will also return this.- in_game_name¶
- class coc.WarRound¶
Corresponds to the previous war day in Clan-War League (ie the war most recently finished)
- previous_war¶
Corresponds to the current war day in Clan-War Leagues.
- current_war¶
Corresponds to the current preparation day in Clan-War Leagues.
- current_preparation¶
- class coc.Resource¶
Corresponds to resources found in-game
- gold¶
- elixir¶
- dark_elixir¶
- builder_elixir¶
All elixir troops, ordered as they appear in-game.
- coc.ELIXIR_TROOP_ORDER¶
All dark elixir troops, ordered as they appear in-game.
- coc.DARK_ELIXIR_TROOP_ORDER¶
All siege machines, ordered as they appear in-game.
- coc.SIEGE_MACHINE_ORDER¶
All super troops, ordered as they appear in-game.
- coc.SUPER_TROOP_ORDER¶
All home troops, ordered as they appear in-game. This is a combination of elixir, dark elixir and siege machine troops. This does not contain super troops.
- coc.HOME_TROOP_ORDER¶
All builder troops, ordered as they appear in-game.
- coc.BUILDER_TROOPS_ORDER¶
All elixir spells, ordered as they appear in-game.
- coc.ELIXIR_SPELL_ORDER¶
All dark elixir spells, ordered as they appear in-game.
- coc.DARK_ELIXIR_SPELL_ORDER¶
All spells, ordered as they appear in-game.
- coc.SPELL_ORDER¶
All heroes, ordered as they appear in-game.
- coc.HERO_ORDER¶
All achievements, ordered as they appear in-game.
- coc.ACHIEVEMENT_ORDER¶
All of the above contain a list of strings, corresponding to the name given in-game and in the API.