Skip to content

Features and settings

Alexander edited this page Nov 27, 2022 · 4 revisions

General description

When a user sends a message to the support chat it will create a ticket which will be forwarded to the staff group. Any admin in the staff group may answer that ticket by just replying to it. Salutation is added automatically. Photos will be forwared too.

Currently the support chat offers these commands (staff commands):

Staff commands

Most staff commands are used by replying to a certain ticket with the specific command.

/open - lists all open tickets (messages where noone has replied yet)
/close - close a ticket manually (in case someone writes 'thank you')
/reopen - reopens a closed ticket
/id - returns your telegram id and the group chat id (1234567 -1234567890)
/ban - ban a person from writing to your chat
/reopen - reopen a closed ticket
/clear - Closes all tickets without sending the ticket closed message (useful for migration/upgrading)

User commands:

/start - tells the user how to use this bot
/help - an overview over the commands or some explanation for the user
/faq - shows the FAQ

Features:

  • File forwarding from and to user
  • Database for handling open and closed tickets
  • Restrict users
  • Simple anti spam system
  • Send tickets to different staff groups
  • Categorize tickets to send them directly to the right team
  • Private reply to user
  • Anonymize users
  • Auto reply based on keywords
  • Web chat
  • Signal messenger integration

Settings

spam_time

To protect yourself from spam you can set it to any number higher or equal to 0. This is the time (in milliseconds) a user is allowed to send 4 messages. If the user send a fifth message in that time the user will be notified that the next messages will not be forwarded to the staff chat because of spam protection. e.g. spam_time: 30000 would mean that a user may send 4 messages in 5 minutes but if the user sends a fifth message he will be temporarily "blocked". If you do not want or need this you can set it to 0 or any other low number.

allow_private

Only works when using category groups (info below).

If set to true it sends a button with every message from a user to a category group that will say Reply in private. When a staff member presses this button the bot will contact the staff member and lets him write with the user in a tunnel only that specific staff member and the user can read. To close the tunnel there is an End private chat button.

direct_reply

Only works when using category groups (info below) and allow_private is enabled.

Instead of using a tunnel between the user and the staff member it will just forward to the users profile so you could write the user directly.

auto_close_tickets

Setting this to true closes a ticket after a staff member replies to it. A closed ticket cannot be answered again.

anonymous_tickets

Settings this to true hides the userid in a ticket in the staff chat.

dev_mode

Setting this to true will send a notice with every message that the bot is currently under development. (Dev mode is on: You might notice some delay in messages, no replies or other errors.)

signal_enabled (experimental)

Setting this to true enables the Signal integration. In order for this to work you have to follow the steps to set signal-cli up here.

signal_number (experimental)

Only works when signal_enabled is set to true

Your Signal username/phone number.

web_server (experimental)

Setting this to true enables the Web Chat integration.

web_server_port (experimental)

This is the port the webserver runs on.

web_server_ssl_cert (experimental)

Path for webserver SSL certificate.

web_server_ssl_key (experimental)

Path for webserver SSL private key.

categories

Uncommenting categories will enable categories in the support chat. This will allow users to select a specific category before writing the staff. Depending on which category they choose their messages will be forwarded directly to the specific staff chat so that the right people will get the right messages.

You can add as many categories as you want but keep in mind that adding more will make the Telegram keyboard bigger for choosing them.

This will show a single category in the Telegram keyboard that forwards the messages to the specific group ID:

categories: 
- name: "Category with no subcategories"
  group_id: "-12345678910"

Following will show a main category button that when clicked on will show some subcategories.

categories: 
- name: "Category1"
  subgroups:
  - name: "Sub1"
    group_id: "-12345678910"
  - name: "Sub2"
    group_id: "-12345678910"

This will have both combined:

categories: 
 - name: "Category1"
   subgroups:
   - name: "Sub1"
     group_id: "-12345678910"
   - name: "Sub2"
     group_id: "-12345678910"
   - name: "Sub3"
     group_id: "-12345678910"
 - name: "Category2"
   subgroups: 
   - name: "Sub4"
     group_id: "-12345678910"
   - name: "Sub5"
     group_id: "-12345678910"
   - name: "Sub6"
     group_id: "-12345678910"
 - name: "Category with no subcategories"
   group_id: "-12345678910"
 - name: "Admin Chat"
   group_id: "-12345678910" 
 - name: "Contact"
   msg: "Check out our Website"