Chiipoints Module

class Chiipoints(*args: Any, **kwargs: Any)

Bases: Cog

This module manages Chiipoints, an LLR currency system where users can spend, and manage their points.

Points are earned by participating in weekly LLR Streams on Discord.

Module is locked to the Love Live Radio (LLR) server.

See also

Module is locked to the Love Live Radio (LLR) server.

Attention

All commands assume minimum bot permissions: View Channel, Send Messages.

async profile(interaction: Interaction, member: Member = None)

Display your Chii-chan profile and Chiipoints balance.

Syntax:

/profile [member]

Example:

/profile
/profile @username
Parameters:

member (discord.Member, optional) – The member whose profile is to be displayed. If not provided, the command displays the profile of the command issuer.

Returns:

An embedded message displaying the user’s profile and Chiipoints balance.

Return type:

discord.Embed

Permissions

Author: Love Live Radio guild

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async reset_chiipoints(ctx: Context, member: Member | User | None = None)

Reset someone’s Chiipoints to 0.

Aliases: rc

Syntax:

!!reset_chiipoints [member]

Example:

!!reset_chiipoints @username
!!rc
Parameters:

member (discord.Member | discord.User, optional) – The member whose Chiipoints are to be reset. If not provided, the command resets the Chiipoints of the command issuer.

Returns:

A confirmation message that the member’s Chiipoints have been reset.

Return type:

discord.Message

Permissions

Author: LLR Admin

async reset_all_chiipoints(ctx: Context)

Reset all Chiipoints to 0 for every member.

Aliases: rac

Syntax:

!!reset_all_chiipoints
Returns:

A confirmation message that all users’ Chiipoints have been reset.

Return type:

discord.Message

Permissions

Author: LLR Admin

async add_chiipoints(ctx: Context, member: Member = None, points: int = None)

Add Chiipoints to someone.

Aliases: ac

Syntax:

!!add_chiipoints <member> <points>

Example:

!!ac @username 100
Parameters:
  • member (discord.Member, required) – The member to whom Chiipoints will be added.

  • points (int, required) – The number of Chiipoints to add.

Returns:

A confirmation message with the updated Chiipoints balance of the member.

Return type:

discord.Message

Permissions

Author: LLR Admin

async remove_chiipoints(ctx: Context, member: Member = None, points: int = None)

Remove Chiipoints from someone.

Aliases: remc

Syntax:

!!remove_chiipoints <member> <points>

Example:

!!remc @username 50
Parameters:
  • member (discord.Member, required) – The member from whom Chiipoints will be removed.

  • points (int, required) – The number of Chiipoints to remove.

Returns:

A confirmation message with the updated Chiipoints balance of the member.

Return type:

discord.Message

Permissions

Author: LLR Admin

async chiipoints_all(ctx)

Displays Chiipoints Leaderboard.

Aliases: cplb

Syntax:

!!chiipoints_all
Returns:

An interactive leaderboard displaying Chiipoints of all members.

Return type:

discord.Embed, menus.ListPageSource

Permissions

Author: LLR Admin

async test_points(ctx, points_cost: int = None)

Test use cases of Chiipoints.

Syntax:

!!test_points [points_cost]

Example:

!!test_points 100
Parameters:

points_cost (int, optional) – The number of Chiipoints to test spending. Defaults to 60 if not provided.

Returns:

A message confirming the spending of Chiipoints and displaying the remaining balance.

Return type:

discord.Message

Permissions

Author: LLR Admin

async check_radio_streak(ctx, member: Member = None)

Check the current radio streak for a user

Permissions

Author: <lambda>

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async radio_streak_repair(ctx, member: Member, stream_id: int, minutes: int = 5)

Insert or bump a Radio_Attendance row (for missed bot ticks), then grant LLRBadge_10RadioStreak if the member does not already have it. minutes is clamped to at least 5 so the row counts toward the streak query.

Aliases: radio_repair

Syntax: !!radio_streak_repair @member <stream_id> [minutes]

Example: !!radio_streak_repair @user 439

Permissions

Author: LLR Admin (server owner / bot owner)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async chiipoints_help(ctx: Context)

Display information about Chiipoints and how to use them.

Syntax:

!!chiipoints

Example:

!!chiipoints
Returns:

A message with information about Chiipoints and how to use them, including infographics.

Return type:

discord.Message

Permissions

Author: Everyone (subject to channel/guild command restrictions)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

chiipoints = <discord.app_commands.commands.Group object>
async balance(interaction: Interaction, member: Member = None)

Display your Chiipoints balance.

Syntax:

/chiipoints balance [member]

Example:

/chiipoints balance
/chiipoints balance @username
Parameters:

member (discord.Member, optional) – The member whose Chiipoints balance is to be displayed. If not provided, defaults to the command issuer.

Returns:

A message displaying the Chiipoints balance of the specified member or the command issuer.

Return type:

discord.Message

Permissions

Author: Everyone (subject to channel/guild command restrictions)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

badges_group = <discord.app_commands.commands.Group object>
async badges_view(interaction: Interaction, member: Member = None)

View your earned badges with names and descriptions.

Syntax:

/badges view [member]

Example:

/badges view
/badges view @username
Parameters:

member (discord.Member, optional) – The member whose badges are to be displayed. If not provided, defaults to the command issuer.

Returns:

An embedded message displaying the member’s badges with names and descriptions.

Return type:

discord.Embed

Permissions

Author: Love Live Radio guild

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async badges_all(interaction: Interaction)

View all possible obtainable badges with their requirements.

Syntax:

/badges all
Returns:

An embedded message displaying all available badges and how to earn them.

Return type:

discord.Embed

Permissions

Author: Love Live Radio guild

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async redeem(interaction: Interaction, idol: str = None, vote: str = None)

The end-goal of Chiipoints is to be able to use them to redeem rewards during LLR streams.

Using this command will allow you to choose from various rewards to redeem.

Current rewards include summoning Idol stickers directly into a live stream and adding additional votes to the Featured Idol poll.

Syntax:

/chiipoints redeem [idol] [vote]

Example:

/chiipoints redeem idol:ruby
/chiipoints redeem vote:special_effect
Parameters:
  • idol (str, optional) – Summon an Idol, she’ll appear on stream! (300 Chiipoints)

  • vote (str, optional) – Add additional idol votes to the Featured Idol poll (varies by option selected)

Returns:

A message confirming the redemption of the reward and displaying the remaining Chiipoints balance.

Return type:

discord.Message

Note

Only one reward type can be used per command. You cannot redeem both an idol and a vote in the same command.

Permissions

Author: Everyone (subject to channel/guild command restrictions)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async grant_badge(ctx: Context, member: Member = None, badge_id: str = None)

Grant a badge to someone (for testing purposes).

Aliases: gb

Syntax:

!!grant_badge <member> <badge_id>

Example:

!!grant_badge @username LLRBadge_9th
Parameters:
  • member (discord.Member, required) – The member to grant the badge to.

  • badge_id (str, required) – The ID of the badge to grant (e.g., LLRBadge_9th).

Returns:

A confirmation message that the badge has been granted.

Return type:

discord.Message

Permissions

Author: LLR Admin

async fix_badge(ctx: Context, member: Member = None, badge_id: str = None)

Fix existing badge by adding emote.

Aliases: fb

Syntax:

!!fix_badge <member> <badge_id>

Example:

!!fix_badge @username LLRBadge_9th
Parameters:
  • member (discord.Member, required) – The member whose badge is to be fixed.

  • badge_id (str, required) – The ID of the badge to fix (e.g., LLRBadge_9th).

Returns:

A confirmation message that the badge has been fixed.

Return type:

discord.Message

Permissions

Author: LLR Admin

async grant_all_badges(ctx: Context, badge_id: str = None)

Grant a badge to all members of the LLR guild.

Aliases: gab

Syntax:

!!grant_all_badges <badge_id>

Example:

!!grant_all_badges LLRBadge_9th
Parameters:

badge_id (str, required) – The ID of the badge to grant to all members.

Returns:

Progress messages showing how many badges were granted.

Return type:

discord.Message

Permissions

Author: LLR Admin

async ikizuradio_badge_collect(ctx: Context)

One-off: scan Ikizucord #1388683924191838238 between the IKIZULIVE window (<t:1779044400:F> through +3 hours) and store distinct non-bot authors. Run !!ikizuradio_badge_grant afterward.

Permissions

Author: LLR Admin (server owner / bot owner)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async ikizuradio_badge_grant(ctx: Context)

Grant LLRBadge_Ikizuradio to users from the last !!ikizuradio_badge_collect. LLR members get the badge and a ping in stream-chat; others are queued for auto-grant on LLR join.

Permissions

Author: LLR Admin (server owner / bot owner)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async grant_archivalqa_badges(ctx: Context)

One-off dev command to award the ArchivalQA badge to the intended users.

Permissions

Author: LLR Admin (server owner / bot owner)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

async add_lifepoints(ctx: Context, member: Member = None, points: int = None)

Add lifepoints to someone. Just for initial setup use really..

Aliases: alp

Permissions

Author: LLR Admin (server owner / bot owner)

Bot: View Channel, Send Messages (plus Connect/Speak for voice commands)

Grant Featured User badges to all users who have been featured users before. Reads unique user IDs from column F of the ‘featured’ tab in LLR Voting Google Sheet and grants the LLRBadge_FU badge to users who are still members of the LLR server.

Syntax:

!!grant_featured_badges
Returns:

A summary of the badge granting process including success/failure counts.

Return type:

discord.Message

Permissions

Author: LLR Admin (Gami/Yume only)

async award_whale_badge(ctx, stream_id: int = None)

Award the Chiipoint Whale badge to the user who spent the most chiipoints in a stream. If no stream_id is provided, uses the current stream.

Syntax:

!!award_whale_badge [stream_id]
Parameters:

stream_id (int, optional) – The stream ID to check. If not provided, uses current stream.

Returns:

A message showing the whale badge award results.

Return type:

discord.Message

Permissions

Author: LLR Admin (Gami/Yume only)

async remove_whale_badge(ctx, member: Member = None)

Remove the Chiipoint Whale badge from a user (e.g. if it was awarded in error).

Aliases: rwb

Syntax:

!!remove_whale_badge <member>
Parameters:

member (discord.Member, required) – The member to remove the whale badge from.

Returns:

A confirmation message.

Permissions

Author: LLR Admin (Gami/Yume only)