/ mineflayer

Как сделать Discord-бота

Опять же, мы погружаемся в мир программирования здесь. Если у вас нет опыта программирования или вы не хотите сидеть часами, пока не создадите что-то, мы рекомендуем вам избегать создания собственных ботов Discord. Однако, если это пробудит в вас интерес, мы рекомендуем вам попробовать — это может быть очень хорошим введением в программирование.

В любом случае, чтобы начать работу, перейдите на портал разработчиков Discord, войдите в систему, используя свои учетные данные Discord, и выберите вариант создания нового приложения. Оттуда вы можете следовать рекомендациям различных онлайн-руководств. Создание ботов — немалый подвиг для новичков в программировании.

spockbot 0.1.5

Minecraft bot framework written in Python, currently under heavy development.

  • Protocol stuff lives in spockbot/mcp
  • Map stuff lives in spockbot/mcmap
  • Data stuff lives in spockbot/mcdata
  • Core client stuff lives in spockbot/plugins/core
  • Helpful client stuff lives in spockbot/plugins/helpers

Client could loosely be called “event-driven”. By default plugins register handler functions to handle events that may or may not be emitted by other plugins. Everything is a plugin in SpockBot, including the event loop/framework itself, so you can feel free to rip out the entire back end and replace it with your framework or paradigm of choice. As long as you provide the same simple APIs, other plugins won’t know the difference.

We’re only just getting started with documentation so if you’re uncomfortable reading source code this might not be the framework for you. Or, better yet, hop on IRC and help us write some docs!

SpockBot officially supports Python 3.x and Python 2.7.x on *nix operating systems and requires cryptography. It also runs on Windows and under PyPy 2.6.x but that’s not regularly tested and could be broken at any given moment. If you support one of those use cases and SpockBot breaks for you, submit an issue with a stack trace and we’ll try to fix it.

Features

  • World Interaction (finding, placing, breaking)
  • Vanilla Physics
  • Pathfinding
  • Inventory (player, chests, etc)
  • Crafting
  • Entity Tracking

Installation

python3 setup.py install

Note: The cryptography library has some extra dependencies to install, you can find detailed instructions here.

Examples

Refer to the example bot for instructions on how to write a bot and a plugin that provides some common functionality.

Also see Extra examples and Bat bot for additional examples.

Credits

Inspired by remyroy’s COPS, a Minecraft client in Python.

COPS was a service that tracked players on a minecraft server called Civcraft. It looked like this

Protocol implementation based on barneymc.

Legal

This project is licensed under the MIT License which can be found in LICENSE

The NBT parser and the original protocol implementation came from other projects, relevant legal information and attribution can be found in LEGAL

Setup

  1. Download latest plugin .jar from the releases and place it to the plugin folder of your server
  2. When you start server first time with the plugin it generates default config file (explained below)
  3. Create new application
  4. Create new bot for the application (Bot -> Add bot)
  5. Copy bot token to the config.yml
  6. Restart Minecraft Server
  7. Invite it to your server:
    • Click «OAuth»
    • Select «bot»
    • Select bot permissions (at least «Administrator»)
    • Copy URL and go to it
    • Select server where you want the bot to join and authorize it (If you do not see server in the list, you might not be an owner of that server)
  8. If bot is running at the server and it has correct token, you can write command «!set integratedchannel» on the textchannel which you want integrate with Minecraft chat
  9. Select channel were you want access voting messages to appear. (You should change channel permission to allow only readin channel and its history and disallow everything else)
  10. Create role to the server that has the access to the integrated channel and access requesting channel
  11. Copy role’s ID (Enable development mode from the Discord settings and then right click role name) and activate it to the bot by editing config file or using command «!set SERVERNAME role ROLEIDHERE»

Как управлять популярным ботом MEE6

Сервис MEE6 считается одним из самых популярных ботов приложения. Он позволяет просматривать подробную статистику чата и его участников. Также при помощи данного бота пользователи имеют возможность создавать собственные команды для своих серверов и настраивать уникальные поздравления для их участников. Функционал сервиса разнообразен, но знание базовых команд даст возможность подробно ознакомиться с доступными возможностями для их интеграции в собственные чаты.

  • !help. В этом разделе доступна информация об универсальных и пользовательских командах. Команда вводится без дополнительных параметров.
  • !rank. Универсальная команда, используется для отображения уровня участника чата. Эта опция показывает рейтинг пользователя на сервере, который рассчитывается на основании активности в чатах и оценки полезности сообщений другими участниками. Для активации нужно также указать дополнительный параметр, в качестве которого выступает логин пользователя.
  • !ban. Команда используется для блокировки участника диалога. Требует указания двух дополнительных параметров. Первый – логин участника, второй – причина санкции.
  • !dashboard. Активирует настройки MEE6. Активация функции не требует дополнительных параметров.
  • !levels. Перенаправление на список участников чата с отображением текущих уровней. Активация также не требует дополнительных данных.
  • !clear. Функция удаляет сообщение в канале. Используется два параметра: имя и количество сообщений.
  • !tempban. Команда для временной блокировки пользователя. По истечении указанного времени, участник снова получит доступ к серверу. Требует введения трех параметров: имя нарушителя, срок в минутах и причина бана.
  • !infractions. Команда для отображения нарушений участника. В качестве дополнительного параметра вводится имя участника.
  • !warn. Используется для предупреждения пользователя при нарушении правил сервера. Сначала нужно ввести имя пользователя, после причину.
  • !user-info. Выводит информацию о пользователе, нужно указать ник-нейм.
  • !mute. Блокирует уведомления от пользователя, для активации нужно также ввести имя участника и причину санкции.
  • !tempmute. Временная блокировка уведомлений. После имени также нужно веси срок действия санкции в минутах.
  • !server-info. Команда для получения информации о сервере. Дополнительных параметров не требуется.

Представлена только часть доступных пользователям функций. Полный список возможностей можно получить на сервере бота. Также в технической документации пользователи могут подробно ознакомиться с процессом создания кастомных команд для своих серверов.

Действия, выполняемые ботом

За все действия, выполняемые ботом, несёт ответственность его владелец. Должно проводиться чёткое разграничение между ботом и участником. Это значит, что все действия бота должны выполняться под учётной записью бота, а все действия участника — под учётной записью участника.

Любой бот, в том числе незарегистрированный, может выполнять тестовые правки в пространстве участника либо самого бота, либо его владельца (но в этом случае владелец должен быть явно обозначен на личной странице бота с использованием шаблона {{Участник бот}}). Для этих тестовых правок разрешается работа с файлами, категориями, шаблонами и модулями, используемыми только в процессе тестирования этого бота. Последовательности тестовых правок, выполняемые незарегистрированными ботами (и, соответственно, не отмечаемые, как правки ботов, и отображающиеся на странице Свежие правки) не должны превышать 10 правок каждая, а за сутки разрешается выполнять не более 80 таких правок на бота.

Если участник считает нужным попросить об однократном выполнении ботом какой-либо последовательности действий, он может обратиться на страницу Minecraft Wiki:Запросы к ботоводам, в канал Discord, или же к конкретному участнику-ботоводу любым доступным методом.

Commands

Only Discord server owner can use these commands. SERVERNAME

Command Explanation
Integrates Discord channel where command was send with the Minecraft chat
Changes prefix used before commands. Default is «!»
Enable/disable message flow from the Minecraft chat to the Discord
Enable/disable message flow from the Discord channel to the Minecraft
Enable/disable death notices to the Discord channel
Enable/disable join/quit messages to the Discord channel
Enable/disable server status channel and message to the Discord
Enable/disable server console «say»-messages to the Discord channel
Enable/disable advancement messages to the Discord channel
Set channel were bot should post access voting messages
Set role id which bot should add to authenticated user to get access to the other Minecraft Discord channels

Send

When status called, it performs status update event

LiveMessage.send(type=LiveMessage.Type.Status, content="bla-bla-bla", target_channel=IDK_what_is_here)

While you have singleton LiveMessage

def send(self, type: 'LiveMessage.Type', content: str, target_channel: SOMETHING = None):
    new_listeners = []
    for path_ in self._listeners: # Update all live messages of this type everywhere
        new_path = try_send(content, path_)
        new_listeners.append(new_path if new_path else path_) # Replace old listener with the new one
    if target_channel: # Use to send live message
        new_path = Discord.message.send(content, target_channel)
        new_listeners.append(new_path)
    self._listeners = new_listeners

def try_send(self, content: str, path: SOMETHING):
    if Discord.message.update(path, content):
        return None
    Discord.message.delete(path)
    return Discord.message.send(content, path.to_channel()) # return new path

Как добавить бота на сервер в Дискорде

Чтобы бот мог взаимодействовать с чатами сервера, его, что логично, нужно туда добавить, практически как обычного пользователя.

Для добавления бота создайте URL-инвайт:

  1. Откройте вкладку OAuth2. Поставьте галочку рядом с пунктом bot в секции scopes.
  2. Далее необходимо предоставить боту разрешения, нужные для работы. Мы создаем простого текстового бота, так что ему потребуется всего несколько прав – в зависимости от задуманных функций их набор будет меняться. Главное, трижды подумайте, чем давать боту разрешение Administrator – оно может поставить под угрозу безопасность сервера.
  3. Как только укажите необходимые разрешения, можете нажать Copy выше этого меню. Так вы скопируете приглашение, которое понадобится для добавления бота на сервер.
  4. Вставьте скопированную ссылку в адресную строку бразуера, выберете сервер для бота и нажмите Authorize. Разумеется, приглашать бота на сервер могут только пользователи, имеющие право «Управление сервером» на конкретном сервере Discord.

Теперь бот создан и «заселен». Приступаем к самому интересному: написанию кода на Python для работы бота. Не переживайте: сейчас расскажем обо всем пошагово.

Run

For Minecraft server lower than version for cross-platform chat to work properly you have to have
argument when you’re executing , , shortcut, or script (
necessary for Windows).

Windows

Just start bot executable file.

For the bot to properly start the Minecraft server you have to have or script (in bot setting you can
set name for this script) in your root Minecraft server directory! Example of file:

@echo off
rem min_ram, max_ram - consists how many min and max GB you're allocating for server on start up
rem your_jar_file - jar file that starts up your server. It can be for vanilla: standard server.jar or for modded server: spigot.jar, forge.jar
rem java_parameters - parameters for Minecraft server
set min_ram=1
set max_ram=3
set your_jar_file=server.jar
set java_parameters=
chcp 65001
cls
title Minecraft Server Console (%max_ram%Gb RAM)
echo java -Xms%min_ram%G -Xmx%max_ram%G %java_parameters% -jar %your_jar_file% nogui
java -Xms%min_ram%G -Xmx%max_ram%G %java_parameters% -Dfile.encoding=UTF-8 -jar %your_jar_file% nogui
exit /b

Also, if you don’t want the server console to pop up in front of other windows at startup, you’ll need to create
shortcut by doing these steps:

  • Create a shortcut to the or file. To do so, right click on the file, click
  • Right click on the shortcut and choose
  • In the : drop down, choose
  • Click

After creating shortcut you can specify it as start file for bot instead of script in config setup.

Linux

On the desktop version of Linux just start bot executable file.

On the server version of Linux you have to start bot executable file using terminal with screen command! Example:

For the bot to properly start the Minecraft server you have to have script (in bot setting you can set name for
this script) in your root Minecraft server directory! Example of file:

# min_ram, max_ram - consists how many min and max GB you're allocating for server on start up
# your_jar_file - jar file that starts up your server. It can be for vanilla: standard server.jar or for modded server: spigot.jar, forge.jar
# java_parameters - parameters for Minecraft server
min_ram='1G'
max_ram='3G'
your_jar_file='server.jar'
java_parameters=''
exec java -Xms${min_ram} -Xmx${max_ram} ${java_parameters} -Dfile.encoding=UTF-8 -jar ${your_jar_file} nogui

For server process bot will start a virtual terminal session via command. You can connect to it
via . You can find server name in list of virtual sessions — .

macOS

On macOS you should start bot executable file from terminal . Because if you just
double click on executable file, current working directory will be set as your home directory () and bot couldn’t
find config and key.

For the bot to properly start the Minecraft server you have to have or script (in bot setting you can
set name for this script) in your root Minecraft server directory! Example of file can be seen above in
section.

For server process bot will start a virtual terminal session via command. You can connect to it
via . You can find server name in list of virtual sessions — .

Права ботов

  • Выполнение требующих CAPTCHA-проверки действий без прохождения CAPTCHA (skipcaptcha)
  • Использование API для записи (writeapi)
  • Меньше ограничений на выполнение API-запросов (apihighlimits)
  • Не создавать перенаправление со старого имени при переименовании страницы (suppressredirect)
  • Нет ограничений по скорости на IP-адрес (autoconfirmed)
  • Отсутствие малых правок на страницах обсуждений включает режим новых сообщений (nominornewtalk)
  • Правки автоматически отмечаются как патрулированные (autopatrol)
  • Сохранение страниц без принудительного предварительного просмотра (forcepreviewexempt)
  • Считаться автоматическим процессом (bot)
  • правка страниц, защищённых как «Разрешено только автоподтверждённым участникам» (editsemiprotected)

Список команд

Список команд для бота делится на общие и игровые. Общие – статистика сервера, пинг и прочие. Специальные стоит рассмотреть подробнее:

  • m!stats – выдает статистику бота. Количество совершенных операций, выполненных команд;
  • m!dig – добыть блок ресурсов в «Майнкрафте». Делает это автоматически;
  • m!craft – создать предмет. Из-за того, что это интеграция, требует больше ресурсов, чем в оригинальной игре;
  • m!kill – автоматически убивает выбранного монстра. Нужно написать его название или номер на сервере;
  • m!profile – активировать игровой профиль пользователя. Дает статистическую информацию, количество ресурсов и возможности.

Регистр бота – «m!». Подробно узнать все команды можно через «m!help».

Сначала включите разрешение «Управление сервером».

Чтобы добавить бота на свой сервер Discord, вам необходимо разрешение «Управление сервером» для вашей учетной записи. Администратор вашего сервера может предоставить это разрешение вашей роли пользователя из меню настроек сервера (шаги, как это сделать, приведены ниже).

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Если у вас уже есть это разрешение, вы можете перейти к следующему разделу.

Чтобы включить это разрешение с помощью учетной записи администратора, запустите Раздор в веб-браузере на компьютере под управлением Windows, Mac, Linux или Chromebook. Вы можете использовать клиент Discord, но, поскольку вам нужно будет войти в Discord в Интернете, чтобы добавить сервер в любом случае, мы предлагаем вам использовать веб-версию.

На сайте Discord на боковой панели слева выберите сервер, на который вы хотите добавить бота.

Откроется экран вашего сервера. На этом экране рядом с именем вашего сервера в верхнем левом углу щелкните значок со стрелкой вниз.

В меню значка со стрелкой вниз выберите «Настройки сервера».

На открывшейся странице «Обзор сервера» на боковой панели слева выберите «Роли».

Выберите роль пользователя, которой вы хотите дать разрешение на добавление ботов.

На странице «Изменить роль» вверху щелкните вкладку «Разрешения».

На вкладке «Разрешения» включите параметр «Управление сервером».

Подсказка появится внизу страницы. Нажмите «Сохранить изменения» в этом запросе, чтобы сохранить недавно внесенные изменения.

И вот как вы позволяете пользователю добавлять ботов на ваш сервер Discord!

Команды по управлению

Надеко бот имеет просто огромный список команд. Их можно разделить на основные категории:

  • помощь;
  • администрирование;
  • пользовательские реакции;
  • игорные;
  • игры;
  • музыка;
  • NSFW;
  • права доступа;
  • поисковые;
  • полезности;
  • команды, относящиеся к опыту пользователей.

Список всех команд с их описанием можно найти на сайте бота в разделе “Commands”. Рассмотрим наиболее полезные и интересные функции виртуального помощника.

Помощь

В самом Дискорде можно получить подробный список команд с описанием выполняемых действий. Для получения перечня приказов по конкретной категории необходимо в текстовом поле ввести .cmds название раздела команд. Например, для обзора всех директив по администрированию нужно ввести .cmds Administration и нажать ENTER.

Чтобы детализировать конкретный «приказ» нужно набрать в строке для сообщений .h название команды и нажать ENTER. Бот выдаст справку, в которой будут указаны:

  • сама команда;
  • что будет выполнено после запуска приказа;
  • требования для ввода команды;
  • раздел, к которому относится данный приказ.

В ответ на запуск комбинации .readme бот вышлет ссылки на справочные материалы по использованию робота.

Администрирование

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

  • .createvoicchanl название канала – создает новый голосовой канал с заданным именем;
  • .delvoichanl название канала – удаляет голосовой канал с указанным названием;
  • .langli – выводит список языков, на которых может писать бот;
  • .langset ru-RU – изменяет язык робота на русский;
  • .setrole @имя пользователя название роли – назначает прописанному участнику указанную роль;
  • .removerole @имя пользователя название роли – удаляет указанную роль у упомянутого участника сервера.

Пользовательские реакции

Данный раздел приказов подразумевает управление ответами бота на сообщения заданного шаблона. Например, можно сделать так, чтобы на запрос “Кто тут главный?”, робот писал имя владельца сервера. Список шаблонных слов или фраз с ответами на них создатель сервера может отредактировать по собственному усмотрению. Список некоторых приказов данной категории команд:

  • .addcustreact “слово или фраза” ответ бота – создание реакции бота на определенное сообщение (если шаблонной является фраза, тогда ее обязательно брать в кавычки);
  • .listcustreact – выводит весь список созданных реакций;
  • .crclear – удаляет все пользовательские реакции.

Игорные команды

В этом разделе собраны приказы, которые позволяют играть в имеющиеся азартные игры. Например, можно сыграть с ботом в “Ракета – скрепка – ножницы”. Это аналог “Камень – ножницы – бумага”.

Правила игры и ввод приказов:

Предмет Что бьет Чему проигрывает Команда
Ракета Ножницы Скрепке .rps 0 (это ноль) или .rps r
Скрепка Ракету Ножницам .rps 1 или .rps p
Ножницы Скрепку Ракете .rps 2 или .rps s

С участниками на сервере можно сыграть в кости. Для выброса кубиков используется комбинация .roll. В итоге бот выбросит два кубика.

С помощью приказа .flip будет подброшена монетка. Проверьте что выпадет у вас: орел или решка?

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

Что это за бот и зачем он нужен, функции

Перед тем как добавить бота в Дискорд Mee6, необходимо разобраться с его особенностями и функциями. Простыми словами, это помощник для пользователей Discord, помогающий в вопросах администрирования, определения уровней и прослушивания музыки. Как и в ряде других Дискорд-ботов, здесь предусмотрена платная и бесплатная версия.

Функции модерации в Discord bot:

  1. Защита сервера от размещения плохих ссылок, оскорблений, большого числа смайлов, сообщения Caps Lock и т. д. После быстрой настройки Mee6 Discord bot автоматически делает работу, разгружая администратора.
  2. Контроль за происходящем на сервере. Для удобства можно выбрать канал, где Discord-бот будет информировать владельца и его модераторов об определенных действиях. К примеру, если кого-то забанили, выгнали или заглушили.

Опции уровней Discord bot:

  1. Предоставление участникам очков ХР, чтобы они могли повышать уровень. Доступно изменение сложности путем повышения количества очков, полученных за каждое сообщение.
  2. Соревнование за каждое звание. Если установить бота Mee6 в Дискорд, можно организовать таблицу лидеров на сервере и бороться за первое место. Как вариант, можно настроить баннер с лучшими пользователями и тем самыми заинтересовать людей.
  3. Предоставление наиболее активным участникам ролей. При правильной настройке Mee6 Discord bot сам распределяет роли человеку при достижении определенного уровня с предоставлением каких-либо дополнительных разрешений.
  4. Передача участникам карты ранга на сервере, которая сразу становится поводом для гордости. Человек может внести настройки в карточку, поменять ее фон и цвет.

Функции музыки Discord bot:

  1. Доступ к виртуальному проигрывателю для управления треками. Теперь не обязательно вводить команды Mee6 для Дискорда, чтобы управлять музыкальными файлами. Вся работа выполняется с помощью специальной панели. Здесь можно корректировать список воспроизведения, ставить на паузу, ставить следующий и предыдущий трек.
  2. Круглосуточный доступ к опции.  Участники сервера могут устраивать голосование за пропуск песни, если она им пришлась не по душе.

Премиальная версия Discord bot

Перед тем как скачать бота Mee6 для Дискорда, определитесь, какая версия вам необходима. Кроме бесплатного варианта предусмотрен Premium-бот. Его можно купить на один месяц за 2,92 доллара, за 34,99 долларов на год или за 99,9 долларов навсегда.

Теперь рассмотрим, что делает платный бот Mee6 в Дискорде. Дополнительные функции:

  1. Добавление нескольких Твитч-каналов на сервер Дискорд;
  2. Настройка карты рангов пользователей.
  3. Покупка своей страницы лидеров с красивым баннером.
  4. Запись любого разговора с пользователями.
  5. Прослушивание музыки прямо на Discord-сервере.
  6. Награждение участников определенными ролями при достижении уровня.
  7. Отсутствие рекламы на странице лидеров.
  8. Добавление нескольких Ютуб-каналов.
  9. Награды участникам, предопределенные ролями, после достижения определенного уровня.
  10. Премиум-роль для получения к секретному премиальному каналу.
  11. Возможность играть в Music Quiz на сервере Дискорд.

Если знать, как настроить Mee6 бота в Дискорде, можно получить от него максимум возможностей. При этом помните, что премиальная версия Discord bot доступна только для одного сервера.

Музыкальный бот для Discord

Discord имеет массу функций и разработчики просто не могли не обратить свое внимание на возможность использовать специальных ботов, которые могли бы значительно разнообразить времяпрепровождение в программе. Музыкальный бот для Discord не имеет каких-либо особых отличительных черт, если сравнивать его с аналогичными разработками других программ, но при этом он дает широкий спектр возможностей манипулирования процессом воспроизведения музыки

Музыкальный бот для Discord — отличное развлечение для пользователей

Стоит ли им пользоваться?

Бот для Дискорда: музыка, информационный вещатель, наблюдатель и т.д. Каждый из них создан специально для того, чтобы повышать эффективность пользования программой. Что касается необходимого нам варианта, то он отлично подходит для того, чтобы просто скрасить свое нахождение в Дискорде, дает возможность добавить любимую музыку и при этом просто позволяет расслабиться.

Для Discord музыка является вторым элементом в плане спроса, так как часто можно встретить отдельные музыкальные каналы, которые вещают самые разные музыкальные направления.

Музыкальный бот Discord поможет скрасить нахождение в программе

Как установить этот элемент?

Как добавить музыкального бота в Дискорд? Сделать это не так сложно, достаточно воспользоваться нашей специальной инструкцией:

  • Воспользуемся ресурсом: https://www.carbonitex.net/Discord/bots, на котором имеются самые разные продукты необходимого нам направления.
  • Внимательно изучайте ассортимент и ищите нужные варианты.
  • Как только выбор сделан, достаточно воспользоваться специальной плашкой зеленого цвета «Add Bot To Server». Но прежде, чтобы не столкнуться с лишними проблемами, лучше поначалу запустить саму программу Дискорд, тогда процесс пройдет быстрее.
  • Появится дополнительное окно, в котором нужно выбрать, к какому именно серверу привязать бота. Если у вас имеется всего лишь один канал, то используйте его. Если же вы руководите несколькими вариантами, то стоит задуматься, куда именно его добавить.
  • Как только выбор сделан, он появится на вашем сервере. Теперь стоит зайти в его индивидуальные настройки и провести ряд манипуляций. Там все пункты установлены по умолчанию, поэтому можете смело вносить свои коррективы.
  • Когда настройки готовы, достаточно переместить бота в нужную комнату и ввести в чат команду «++voice». Он активируется и начнет передавать музыку всем, кто находится в этой комнате.

Поэтому, предлагаем вам ознакомиться с нашей следующей инструкцией, которая расскажет, как пользоваться музыкальным ботом и его командами:

  • После того, как вы установили дополнительный элемент для сервера, стоит в чате набрать команду «++help».
  • На экран выведется список команд, которые можно использовать для получения той или иной манипуляции.
  • Порой команды могут быть расписаны на английском языке, поэтому, мы переведем для вас стандартный список доступных команд, которые можно использовать для регулирования музыкальной деятельности бота.

Вот собственно и все, как видите, ничего сложного в этом процессе нет. Достаточно найти немного свободного времени и можно внедрять на свой сервер хорошее настроение.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Твой клуб по настройке
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: