# Commands & Features

# Greetings Feature

The Greetings feature allows you to send hello messages to users.

## Commands

### `/hello`

Command to send a hello message to a user.

- **Usage**: `/hello [user]`
    - `user` (optional): Mention the user you want to greet. If not provided, the command greets the message author.

#### Example

`/hello @username`

This will send a hello message to the mentioned user.

# Blahaj Feature

The Blahaj feature allows you to interact with the adorable Blahaj shark.

## Commands

### `/blahaj`

Command to get a Blahaj image.

- **Usage**: `/blahaj`

This command will provide a link to an image of the Blahaj shark.

#### Example

`/blahaj`

This will respond with a link to an image of the Blahaj shark.

# Utils Feature

The Utils feature provides various utility commands and functions.

## Commands

### `/utcnow`

Command to get the current UTC time.

- **Usage**: `/utcnow`

This command will display the current UTC time along with a link to an external UTC clock. It is particularly useful for the betting feature, which posts all timestamps in UTC.

This command allows users to easily reference the current UTC time, ensuring consistent and accurate timing for betting events and related activities.

#### Example

`/utcnow`

This will respond with an embedded message showing the current UTC time and a button to view an external UTC clock.

# Counter-Strike

All things counter-strike related

# Update Blog Scanner Feature

The Update Blog Scanner feature keeps users informed about the latest Counter-Strike updates by delivering notifications in the main #general channel.

## Purpose

The Update Blog Scanner feature automates the process of checking the official CS:GO blog for new posts. It ensures that users receive timely updates on important changes, bug fixes, and new features in Counter-Strike without the need for manual monitoring.

## Benefits

- **Stay Up-to-Date**: Users remain informed about the latest Counter-Strike updates without actively checking the blog.
- **Effortless Updates**: The feature automatically checks the blog for new posts, saving users' time and effort.
- **Centralized Notifications**: Notifications are delivered to the main #general channel, providing a centralized location for the community to access update information.
- **Enhanced Engagement**: Users can quickly learn about changes, engage in discussions, and share their thoughts on the latest updates.
- **Community Interaction**: The centralized notifications foster community interaction and keep the conversation focused on the latest updates.
- **Efficient Administration**: Administrators can keep the community informed without the need for manual announcement posts.

# Chat Message Responder Feature

The Chat Message Responder feature allows the bot to respond to CS:GO in-game chat messages. It uses natural language processing to generate appropriate responses based on the sentiment and language of the input message.

## Command

### `/cschat`

Command to respond to a CS:GO chat message.

- **Usage**: `/cschat message sentiment`
  - `message`: The CS:GO chat message to respond to.
  - `sentiment`: The sentiment of the message. Available choices are "Copy (Default)", "Toxic", "Neutral", "Wholesome", and "Sarcastic Teenager".
- **Please Note**: The bot will charge you a small amount of blahajcoin for using this command, based on the length of your input message

#### Example

`/cschat "IDI NAHOY SOOKA NOOB WHY RUSH WITH BOMB IDIOTA SOOKA KICK ME PLEES"`

##### Response:
```
Language: Russian
Sentiment Analysis: Negative

Original Message(s): IDI NAHOY SOOKA NOOB WHY RUSH WITH BOMB IDIOTA SOOKA KICK ME PLEES
Translated Message: "Go to hell, you noob! Why did you rush with the bomb, idiot? You better kick me, please."

Response: Я играю как хочу, мне не нужны твои советы, сука! 
Translated Response: "I play how I want, I don't need your advice, bitch!"
```

# CS:GO Match Betting

The CS:GO Match Betting feature allows users to bet on professional CS:GO matches using blahajcoin. Users can view match information, place bets on their preferred teams, and check the status of their betting tickets. This wiki page provides an overview of the available commands and a step-by-step guide on how to use the feature.

## Command Overview

- `/betting get_match`: Get information for a CS:GO match.
- `/betting ticket create`: Bet on a CS:GO match.
- `/betting ticket list`: List all your betting tickets.
  - Optional: `include_expired` (default: false) - Include expired tickets in the list.
- `/betting ticket check`: Check the status of a betting ticket.


## Step-by-Step Guide

1. **Get Match Information**

   Start by retrieving information about the CS:GO match you want to bet on using the `/betting get_match` command. Provide the HLTV match page URL as the input. For example: `/betting get_match https://www.hltv.org/matches/2345678/liquid-vs-astralis`

2. **Place a Bet**

   Once you have the match information, use the `/betting ticket create` command to place a bet on your preferred team. Provide the match ID, the amount of blahajcoin you want to bet, and the team you want to bet on. For example: `/betting ticket create mvoqm0qp 10 Team 1`

3. **List Your Betting Tickets**

   To view all your betting tickets, use the `/betting ticket list` command. By default, only active tickets are listed. To include expired tickets in the list, you can specify `include_expired=true` as the optional parameter. For example: `/betting ticket list include_expired=true`

4. **Check Ticket Status and Claim Winnings**

    If you want to check the status of a specific betting ticket and potentially claim your winnings, use the `/betting ticket check` command followed by the ticket ID. For example: `/betting ticket check 9876`. The command will provide information about whether you won or lost the bet. If you won, the winnings will be automatically added to your account balance. If the ticket has already been claimed, the command will indicate that the ticket has expired.

---

# Economy

All things economy related

# Basic Currency Features

The Base Currency feature provides various economy commands for managing BlahajCoin currency in the bot.

## Commands

### `/currency balance`

Command to check the BlahajCoin balance of a user.

- **Usage**: `/currency balance [user]`
  - `user` (optional): Mention the user to check the balance of. If not provided, the command checks the balance of the message author.

#### Example

`/currency balance @username`

This will display the BlahajCoin balance of the mentioned user.

### `/currency pay`

Command to send BlahajCoin to another user.

- **Usage**: `/currency pay recipient amount`
  - `recipient`: Mention the user you want to send BlahajCoin to.
  - `amount`: The amount of BlahajCoin to send to the recipient.

#### Example

`/currency pay @recipient 50`

This will send 50 BlahajCoin units to the mentioned recipient.

### `/currency leaderboard`

Command to view the leaderboard of users with the highest BlahajCoin balances.

- **Usage**: `/currency leaderboard`

This command displays the top users with the highest BlahajCoin balances.

# XP System Feature

The XP System feature tracks and rewards user XP levels in the bot. Leveling up grants users BlahajCoin currency.

## XP Gain

- Users earn 1 XP for each message they send.

## Leveling Up

- Each user starts at level 1 and requires XP equal to their current level multiplied by 100 to level up.
- Upon leveling up, users receive a reward of BlahajCoin currency equal to their new level.
- Level progress is reset to 0 after leveling up.

## Commands

### `/level`

Command to check the XP level of a user.

- **Usage**: `/level [user]`
  - `user` (optional): Mention the user to check the level of. If not provided, the command checks the level of the message author.

#### Example

`/level @username`

This will display the XP level and progress to the next level for the mentioned user.

# Coinflip Game Feature

The Coinflip Game feature allows users to participate in a coin flip game where they can bet BlahajCoin currency on the outcome.

## Command

### `/coinflip`

Command to play the coin flip game.

- **Usage**: `/coinflip flip amount`
  - `flip`: Choose the side of the coin to bet on. Available choices are "Heads" and "Tails".
  - `amount`: The amount of BlahajCoin to bet on the coin flip.

#### Example

`/coinflip Heads 10`

This will flip a coin and bet 10 BlahajCoin on the "Heads" side.

- If the chosen side matches the outcome, the user wins and receives the bet amount.
- If the chosen side does not match the outcome, the user loses the bet amount.

# Daily Rewards Feature

The Daily Rewards feature allows users to claim a reward each day in the form of virtual currency. This encourages regular interaction within the server and rewards users for their consistency.

## Command

### `/daily`

Command to claim daily reward.

- **Usage**: `/daily`

#### Example

`/daily`

This will claim the daily reward for the user. 

- Each day, the user claims the reward, the reward amount increases by 10%, up to a maximum limit of 5 coins per day.
- If a day is missed, the reward amount will decrease by 50% for each day missed but can be built back up through consistent claiming.
- The reward is added to the user's balance in the form of virtual currency.

## Interaction

Upon using the command, users will receive an embedded message from the bot indicating the amount they've received and their updated balance. They will also be informed about the next day's potential reward (10% increase or 50% decrease depending on the consistency of claims) to motivate them to return.

The goal of this feature is to promote regular activity within the server and reward users for their engagement. 

*Please note: Reward values and conditions may be subject to changes. Always check the most recent announcements for updates.*