tourneyBot

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2024 License: MIT Imports: 4 Imported by: 0

README

TourneyBot

Go Report Card Russia

English

TourneyBot logo

TourneyBot is a project for tournament organizers on the startgg platform for the Tekken 8 game that helps solve the problem of interaction between players and organizers.

Using the open API startgg the bot receives data about a tournament in which different groups with different sets and participants participate. Then messages are sent to the participants of the tournament, which are located on the discord server of the organizer.

If you want to help the project, suggest ideas and developments in your pull requests.


To be realized in the future

  • SF6 support;
  • Different battle formats for different stages of the tournament;
  • Dynamically changing time interval until disqualification from the tournament with each repeated message
  • Role assignment on the Discord server;

Features

  • Single and double elimination tournament formats are supported;
  • Sending messages to all tournament participants every 5 minutes;
  • Bot control and configuration of templates and variables via commands;
  • Loading player data from a .csv format table;
  • Different invitations are sent depending on the type of match:
A message with opponent's contacts A message with parameters to find a closed Tekken 8 lobby where the game will be played live
example example

Getting Started

Installing
  1. You need to get:

    It is assumed that you have organized a tournament on the startgg platform, where participants fill out a registration form. In the form you need to provide the following information:

    • Gamer Tag;
    • Tekken ID;
    • Login to the organizer's Discord server (mandatory);
  2. Download the finished build and create a config folder in the directory.

    • Create file config.toml
    • Copy the template and fill the previously created file with it:
    [startgg]
    token = "your token"
    
    [discordbot]
    token = "Bot <your token>"
    guildID = "your id"
    appID = "your id"
    
    [roles]
    ru = "your id"
    
    • Create file tournament.toml
    • Copy the template and fill the previously created file with it:
    [stream]
    area = "any"            # any | close
    language = "any"        # any | same
    crossplatform = true    # Enable: true | Disable: false
    connection = "any"      # any | "1"-"5"
    passCode = "1234"       # Min: "0000" | "Max: 9999"
    
    [rules]
    stage = "any"           # Name stage or any (check names in stages.go)
    format = 2              # FT (first N to win): 1-10
    rounds = 3              # 1-5
    duration = 60           # 30-99
    waiting = 10            # Time before disqualification in minutes: 1-any
    crossplatform = true    # Enable: true | Disable: false
    
    [logo]
    img = "your link to image"
    
  3. Invite a bot to your discord server;

  4. Set a role restriction on the use of commands on your discord server How?

Usage
  1. Start the project;
  2. Write a command /set-event link: <link to event your tournament>
  3. Start the tournament on startgg;
  4. Write a command /start-sending
  5. Enjoy the process!

All commands have a description and the necessary tips for their execution.

Documentation

Command Description
/check Check startgg, discord and bot variables
/start-sending Start sending out invitations to tournament participants
/stop-sending Stop sending invitations to tournament participants
/сontacts Get list contact players from csv file
/set-event link:<link> Set an event in the bot configuration to retrieve all phaseGroups. The event reference must include the path: tournament/<tournament_name>/event/<event_name>
/edit-rules format:<[1-10]> stage:<name or any> rounds:<[1-5]> duration:<[30-99]> crossplatformplay:<true or false> Edit match rules
/edit-stream-lobby area:<any or close> language:<any or same> conn:<any or [3-5]> crossplatformplay:<true or false> passcode:<[0000-9999]> Edit stream-lobby configurations
/edit-logo-tournament url:<url> Edit the link to the tournament logo

Русский

TourneyBot logo

TourneyBot проект для организаторов турнира платформы startgg по игре Tekken 8 который помогает решить проблемы взаимодействия между игроками и организаторами.

Используя открытое API startgg бот получает данные о турнире в котором есть группы, в которых есть сеты, в которых есть участники. После отправляются сообщения участникам турнира, которые находятся на discord сервере организатора.

Если хотите помочь проекту, предлагайте идеи и разработки в ваших пул реквестах.


Будет реализовано в будущем

  • Поддержка игры SF6;
  • Различные форматы сражений для разных этапов турнира;
  • Динамически изменяющийся интервал времени до дисквалификации из турнира при каждом повторном сообщении;
  • Выдача ролей в Дискорд сервере;

Особенности

  • Поддержка форматов Single and double elimination;
  • Отправка сообщений всем участникам турнира каждые 5 минут;
  • Контролирование бота и изменение конфигурации шаблонов и переменных при помощи команд;
  • Загрузка данных игроков из файла таблицы формата .csv;
  • В зависимости от типа матча рассылаются разные приглашения:
Сообщение с контактами оппонента Сообщение с параметрами для поиска закрытого лобби Tekken 8 где игра будет на стриме
example example

Начало работы

Установка
  1. Вам нужно получить:

    Предполагается, что вы организовали турнир на платформе startgg, участники которого заполняют регистрационную форму. В форме необходимо указать следующую информацию:

    • Gamer Tag;
    • Tekken ID;
    • Вход на дискорд сервер организатора (обязательно);
  2. Загрузите готовую сборку и создайте в каталоге папку config.

    • Создайте файл config.toml
    • Скопируйте шаблон и заполните им ранее созданный файл:
    [startgg]
    token = "ваш токен"
    
    [discordbot]
    token = "Bot <ваш токен>"
    guildID = "ваш id"
    appID = "ваш id"
    
    [roles]
    ru = "ваш id"
    
    • Создайте файл tournament.toml
    • Скопируйте шаблон и заполните им ранее созданный файл:
    [stream]
    area = "any"            # any | close
    language = "any"        # any | same
    crossplatform = true    # Включена: true | Выключена: false
    connection = "any"      # any | "1"-"5"
    passCode = "1234"       # Мин: "0000" | "Макс: 9999"
    
    [rules]
    stage = "any"           # Имя локации или любое (any) (проверить имена в stages.go)
    format = 2              # FT (до N побед): 1-10
    rounds = 3              # 1-5
    duration = 60           # 30-99
    waiting = 10            # Время до дисквалификации в минутах: 1-any
    crossplatform = true    # Включена: true | Выключена: false
    
    [logo]
    img = "ваша ссылка на изображение"
    
  3. Пригласите бота в ваш дискорд сервер;

  4. Установите ограничение по ролям на использование команд на вашем сервере discord Как?

Использование
  1. Запустите проект;
  2. Напишите команду /установить-ивент link: <ссылка на ивент турнира>
  3. Запустите турнир на startgg;
  4. Напишите команду /начать-рассылку
  5. Наслаждайтесь процессом!

Все команды имеют описание и необходимые подсказки для их выполнения.

Документация

Команда Описание
/проверка Проверка startgg, discord and bot переменных
/начать-рассылку Начните рассылать приглашения участникам турнира
/остановить-рассылку Прекратите рассылать приглашения участникам турнира
/контакты Получить список контактов игроков из csv файла
/установить-ивент link:<link> Установите событие в конфигурации бота для получения всех phaseGroups. Ссылка на событие должна содержать путь: tournament/<название_турнира>/event/<название_ивента>
/редактировать-правила-матчей format:<[1-10]> stage:<name or any> rounds:<[1-5]> duration:<[30-99]> crossplatformplay:<true or false> Редактировать правила матчей
/редактировать-стрим-лобби area:<any or close> language:<any or same> conn:<any or [3-5]> crossplatformplay:<true or false> passcode:<[0000-9999]> Редактировать конфигурацию лобби для стрима
/редактировать-лого-турнира url:<url> Редактировать ссылку на логотип турнира

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
bot

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL