Ruby-Cogs/tickettool
2025-04-02 22:57:51 -04:00
..
locales Add Cogs 2025-04-02 22:57:51 -04:00
__init__.py Add Cogs 2025-04-02 22:57:51 -04:00
dashboard_integration.py Add Cogs 2025-04-02 22:57:51 -04:00
info.json Add Cogs 2025-04-02 22:57:51 -04:00
README.rst Add Cogs 2025-04-02 22:57:51 -04:00
settings.py Add Cogs 2025-04-02 22:57:51 -04:00
ticket.py Add Cogs 2025-04-02 22:57:51 -04:00
tickettool.py Add Cogs 2025-04-02 22:57:51 -04:00
utils.py Add Cogs 2025-04-02 22:57:51 -04:00
utils_version.json Add Cogs 2025-04-02 22:57:51 -04:00

.. _tickettool:
==========
TicketTool
==========

This is the cog guide for the ``TicketTool`` cog. This guide contains the collection of commands which you can use in the cog.
Through this guide, ``[p]`` will always represent your prefix. Replace ``[p]`` with your own prefix when you use these commands in Discord.

.. note::

    Ensure that you are up to date by running ``[p]cog update tickettool``.
    If there is something missing, or something that needs improving in this documentation, feel free to create an issue `here <https://github.com/AAA3A-AAA3A/AAA3A-cogs/issues>`_.
    This documentation is generated everytime this cog receives an update.

---------------
About this cog:
---------------

A cog to manage a Tickets system!

---------
Commands:
---------

Here are all the commands included in this cog (48):

* ``[p]settickettool``
 Configure TicketTool for your server.

* ``[p]settickettool adminroles <profile> <admin_roles>``
 Users with this role will have full permissions for tickets, but will not be able to set up the cog.

* ``[p]settickettool auditlogs <profile> <audit_logs>``
 On all requests to the Discord api regarding the ticket (channel modification), does the bot send the name and id of the user who requested the action as the reason?

* ``[p]settickettool categoryclose <profile> <category channel>``
 Set the category where the closed tickets will be.

* ``[p]settickettool categoryopen <profile> <category channel>``
 Set the category where the opened tickets will be.

* ``[p]settickettool closeconfirmation <profile> <close_confirmation>``
 Should the bot ask for confirmation before closing the ticket (deletion will necessarily have a confirmation)?

* ``[p]settickettool closeonleave <profile> <close_on_leave>``
 If a user leaves the server, will all their open tickets be closed?

* ``[p]settickettool createonreact <profile> <create_on_react>``
 Create a ticket when the reaction 🎟️ is set on any message on the server.

* ``[p]settickettool custommessage <profile> <custom_message>``
 This message will be sent in the ticket channel when the ticket is opened.

* ``[p]settickettool custommodal <profile> <custom_modal>``
 Ask a maximum of 5 questions to the user who opens a ticket, with a Discord Modal.

* ``[p]settickettool deleteonclose <profile> <delete_on_close>``
 Does closing the ticket directly delete it (with confirmation)?

* ``[p]settickettool dynamicchannelname <profile> <dynamic_channel_name>``
 Set the template that will be used to name the channel when creating a ticket.

* ``[p]settickettool enable <profile> <enable>``
 Enable the system.

* ``[p]settickettool forumchannel <profile> <forum_channel>``
 Set the forum channel where the opened tickets will be, or a text channel to use private threads. If it's set, `category_open` and `category_close` will be ignored (except for existing tickets).

* ``[p]settickettool logschannel <profile> <logschannel>``
 Set the channel where the logs will be sent/saved.

* ``[p]settickettool message <profile> [channel] [message] [reason_options]... [emoji=🎟️] [label]``
 Send a message with a button to open a ticket or dropdown with possible reasons.

* ``[p]settickettool modalconfig <profile> [confirmation=False]``
 Set all settings for the cog with a Discord Modal.

* ``[p]settickettool modlog <profile> <modlog>``
 Does the bot create an action in the bot modlog when a ticket is created?

* ``[p]settickettool nbmax <profile> <nb_max>``
 Sets the maximum number of open tickets a user can have on the system at any one time (for a profile only).

* ``[p]settickettool pingroles <profile> <ping_roles>``
 This role will be pinged automatically when the ticket is created, but does not give any additional permissions.

* ``[p]settickettool profileadd <profile>``
 Create a new profile with defaults settings.

* ``[p]settickettool profileclone <old_profile> <profile>``
 Clone an existing profile with his settings.

* ``[p]settickettool profileremove <profile> [confirmation=False]``
 Remove an existing profile.

* ``[p]settickettool profilerename <old_profile> <profile>``
 Rename an existing profile.

* ``[p]settickettool profileslist``
 List the existing profiles.

* ``[p]settickettool renamechanneldropdown <profile> <rename_channel_dropdown>``
 With Dropdowns feature, rename the ticket channel with chosen reason.

* ``[p]settickettool resetsetting <profile> <setting>``
 Reset a setting.

* ``[p]settickettool showsettings <profile> [with_dev=False]``
 Show all settings for the cog with defaults and values.

* ``[p]settickettool supportroles <profile> <support_roles>``
 Users with this role will be able to participate and claim the ticket.

* ``[p]settickettool ticketrole <profile> <role>``
 This role will be added automatically to open tickets owners.

* ``[p]settickettool usercanclose <profile> <user_can_close>``
 Can the author of the ticket, if he/she does not have a role set up for the system, close the ticket himself?

* ``[p]settickettool viewroles <profile> <view_roles>``
 Users with this role will only be able to read messages from the ticket, but not send them.

* ``[p]ticket``
 Commands for using the Tickets system.

* ``[p]ticket addmember [members]...``
 Add a member to an existing Ticket.

* ``[p]ticket claim [member] [reason=No reason provided.]``
 Claim an existing Ticket.

* ``[p]ticket close [confirmation] [reason=No reason provided.]``
 Close an existing Ticket.

* ``[p]ticket create [profile] [reason=No reason provided.]``
 Create a Ticket.

* ``[p]ticket createfor [profile] <member> [reason=No reason provided.]``
 Create a Ticket for a member.

* ``[p]ticket delete [confirmation=False] [reason=No reason provided.]``
 Delete an existing Ticket.

* ``[p]ticket export``
 Export all the messages of an existing Ticket in html format.

* ``[p]ticket list <profile> ["open"|"close"|"all"] [owner]``
 List the existing Tickets for a profile. You can provide a status and/or a ticket owner.

* ``[p]ticket lock [confirmation] [reason=No reason provided.]``
 Lock an existing Ticket.

* ``[p]ticket open [reason=No reason provided.]``
 Open an existing Ticket.

* ``[p]ticket owner <new_owner> [reason=No reason provided.]``
 Change the owner of an existing Ticket.

* ``[p]ticket removemember [members]...``
 Remove a member to an existing Ticket.

* ``[p]ticket rename <new_name> [reason=No reason provided.]``
 Rename an existing Ticket.

* ``[p]ticket unclaim [reason=No reason provided.]``
 Unclaim an existing Ticket.

* ``[p]ticket unlock [reason=No reason provided.]``
 Unlock an existing locked Ticket.

------------
Installation
------------

If you haven't added my repo before, lets add it first. We'll call it "AAA3A-cogs" here.

.. code-block:: ini

    [p]repo add AAA3A-cogs https://github.com/AAA3A-AAA3A/AAA3A-cogs

Now, we can install TicketTool.

.. code-block:: ini

    [p]cog install AAA3A-cogs tickettool

Once it's installed, it is not loaded by default. Load it by running the following command:

.. code-block:: ini

    [p]load tickettool

----------------
Further Support:
----------------

Check out my docs `here <https://aaa3a-cogs.readthedocs.io/en/latest/>`_.
Mention me in the #support_other-cogs in the `cog support server <https://discord.gg/GET4DVk>`_ if you need any help.
Additionally, feel free to open an issue or pull request to this repo.

--------
Credits:
--------

Thanks to Kreusada for the Python code to automatically generate this documentation!