Я начал делать Ticket bot с помощью discord.py, но у меня есть ошибка в коде, и я не знаю, как ее исправить. Встраивание и реагирование на сообщения работают, но когда я пытаюсь отреагировать, все вылетает. Вот моя ошибка:
Ignoring exception in command ticket: Traceback (most recent call last): File «C:UsersHPAppDataLocalProgramsPythonPython39libsite-packagesdiscordextcommandscore.py», line 85, in wrapped ret = await coro(*args, **kwargs) File «c:UsersHPDesktop222dscbot-dscbot.py», line 150, in ticket if reaction == »: NameError: name ‘reaction’ is not defined The above exception was the direct cause of the following exception: Traceback (most recent call last): File «C:UsersHPAppDataLocalProgramsPythonPython39libsite-packagesdiscordextcommandsbot.py», line 902, in invoke await ctx.command.invoke(ctx) File «C:UsersHPAppDataLocalProgramsPythonPython39libsite-packagesdiscordextcommandscore.py», line 864, in invoke await injected(*ctx.args, **ctx.kwargs) File «C:UsersHPAppDataLocalProgramsPythonPython39libsite-packagesdiscordextcommandscore.py», line 94, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name ‘reaction’ is not defined
Надеюсь, у кого-то есть идеи, как это исправить, вот мой текущий код:
[Support] Создание тикета через панель
Ps: я новичок в discord.py
Источник: question-it.com
SkyTickets
Основная тематика бота — тикеты. Канал профисиональной поддержки для любого проекта при помощи нашего бота становится очень удобным, понятным в использовании. Бот может быть переведен на четыре разных языка, в них входит: Русский, Английский, Немецкий, Украинский.
Бот имеет возможность смены префикса с префикса по умолчанию, на ваш собственный при помощи команды sl.prefix.
- Полная кастомизация и настройка в Панели управления ботом ・Настройка текста внутри тикетов, настройка категорий, настройка каналов, ролей, кнопок, embed-ов и прочие
— Никакой рекламы! Бот не содержит в себе спам-рекламы, или постоянных вставках в футерах embed на подобии SkyTickets — Discord Bot
-Две возможности создания тикета:
・Кнопка создания тикета
・При написании в канал поддержки (РЕКОМЕНДУЕТСЯ)
- Крутые модули которые не оставят вас равнодушными: ・Голосовая поддержка ・Модуль оценки сотрудников
・Интеграция с другими ботами через текстовые сообщения в формате листа (через комы)
— Модуль жалоб Discord
・Полностью отдельный не связаный модуль с тикетами ・Так-же полностью настраиваемый ・Выносится в отдельную категорию жалоб
・Создание жалоб через красивую Embed настраиваемую кнопку
— Прочие утилиты
・Моментальная очистка закрытых жалоб и тикетов [sl.clear_tickets] ・Добавление участников в ЧС тикетов и жалоб [sl.ignore] ・Импорт своего языкового пакета [sl.import]
Ticket Tool 2023 NEW SETTINGS TUTORIAL DISCORD
・Статистика персонала [sl.stats] и [sl.resetstats]
— Понятная и простая настройка и кастомизация бота на панели управления
Примечание к панели: ・Справа сверху при входе на сайт, нажмите на кнопку ПЕРЕВЕСТИ СОДЕРЖИМОЕ -> ВЫБРАТЬ ЯЗЫК -> РУССКИЙ ・Если вы разбераетесь в английском языке, нажмите на кнопку Dashboard Login и после на кнопку Dashboard ・Выберите свой сервер, нажмите Manage ・Настройте все роли и каналы, настройте текста и переведите все на ваш язык, и так — как вам хочется.
Функции: Логи Другое
Разработчик: Ariano#1979
Комментарии ( 8 )
Ariano#1979 25.09.2022 в 18:33
Azger, опишите бесполезные функции и скажите чем вам так не понравился Skytickets, когда его работоспособность в несколько раз превышает других ботов на тикеты (изменено)
Azger#7569 03.11.2022 в 11:26
Смысл создавать ещё одного бота с тикетами, когда есть лучше. Тем более без бесполезных команд и функций.х@$ во-вторых, он прост в настройке; в-третьих, у бота отличная тех. поддержка (вежливые сотрудники, адекватные админы, лучший разработчик. ) Советую всем ставить именно этого бота, поверьте, вы не пожалеете. (изменено)
Квэди#0588 23.09.2022 в 20:02
Я обещал проверить сегодня бота на наличие багов и изменить оценку. Действительно все ошибки баги исправлены. (изменено)
Источник: bots.server-discord.com
Игровая техподдержка в мобильном шутере: тандем Discord и Zendesk
Раньше наш игровой саппорт целиком умещался в рамках одного сервера Discord: игроки были волонтерами, а штат саппорта был ограничен парой человек. Но в какой-то момент система начала сбоить, обрабатывать запросы из сторов стало неудобно, а людей не хватать.
Поэтому занялись улучшением процессов: расширили штат сотрудников, обновили график для поддержки 24/7, и внедрили саппорт-сервис Zendesk. Подробнее обо всем под катом.
Саппорт-система на базе Discord какое-то время успешно работала: опытные игроки из сообщества по сути были внештатными сотрудниками техподдержки за внутриигровые бонусы. Cо временем они стали выгорать и уходить, если раньше их было восемь, то стало — двое. А с MAO в 5 млн человек мы не могли оперативно и качественно отвечать на запросы.
Еще у саппорт-сервера в Discord есть лимит в 500 тикетов, который можно исчерпать за 3-5 дней, если оперативно не разобрать запросы, и положить сервер.
Кроме того, стало сложно работать с отзывами в магазинах приложений. Игроки писали там свои проблемы, мы в ответ давали ссылку на Discord, куда большинство не заходили. Пошли жалобы, что им не отвечают, заставляют куда-то переходить и так далее. В общем, надо было меняться.
Как изменился саппорт
Сначала расширили штат поддержки — с одного до пяти фултайм-специалистов. Требования к саппортерам было два: свободный русский язык и английский на уровне Upper-Intermediate. К тому же удалось найти специалиста с вечерним графиком и возможностью работать на выходных.
С расширением команды сразу же решилась проблема обработки запросов, так как банально появились дополнительные руки. На данном этапе мы не разделяем роли специалистов, они все универсальные саппортеры, которые могут заниматься любыми запросами будь то жалобы на баги, проблемы с платежами и другими. В ближайших планах создать график и разделить зоны ответственности по категориям обращений.
Сейчас работа саппорта организована так:
- В будние дни с утра и до полудня я занимаюсь тикетами в Zendesk (об инструменте я расскажу дальше), которые накопились за вечер или в выходные дни. В среднем обрабатываю около 150-200 тикетов в день.
- Остальные специалисты занимаются тикетами в Discord или ответами на отзывы в Asodesk (платформа для маркетинга, там удобно отвечать на отзывы, отслеживать конкурентов и так далее).
- В зависимости от степени загруженности мы перераспределяем задачи. Например, некоторые могут переключиться на обработку запросов в Zendesk в течение дня.
- В выходные дни канал для создания тикетов в Discord закрывается, и все запросы идут Zendesk. Там их мониторит специалист, и если появляется критическая проблема, то связывается с продакт-овнером.
- Таким образом удается организовать работу 24/7.
Внедрение Zendesk
Изначально его подключали вообще по другой причине: Apple изменила правила стора, теперь в приложениях должна быть кнопка для удаления аккаунта. Внедрять такую функциональность займет много времени, а необходимости в ней как таковой нет. Поэтому решили оформить возможность удаления через письмо на почту, а чтобы легче мониторить нужны были теги и фильтры.
Вспомнили про проверенный временем Zendesk. Это саппорт-платформа с возможностью удобно отвечать/отслеживать/тегировать тикеты и так далее. В нем проще работать с заготовленными ответами, категоризировать и разбирать обращения, потому что на какие-то отзывы нужно отвечать в первую очередь, какие-то отложить на потом, какие-то можно вовсе проигнорировать.
Процесс довольно простой:
1. Регистрируем и оплачиваем Zendesk. Для себя мы выбрали тарифный план Support Team, так как специалистов саппорта у нас всего пять.
2. Сразу добавляем сотрудников и назначаем роли (People → Team members).
3. Привязываем корпоративную почту, на которую приходят запросы от игроков, к сервису Zendesk (Channels → Email).
Также можно создать дополнительный почтовый адрес, куда игроки будут писать через игру или внешние ссылки.
3. Готово. Можно начинать настраивать фильтры, теги, триггеры и так далее.
Фичи Zendesk
Вся работа с тикетами происходит в интерфейсе Zendesk. Сервис все тегирует и фильтрует: разбивает обращения по группам, типам, приоритетам, подтягивает логи пользователя и многое другое. Все зависит от того, как это настроить, система гибкая.
По факту игрок пишет письмо на почту, а в Zendesk подтягиваются данные о нем: время создания запроса, название и версия приложения, ID игрока, категория запроса, тип и модель устройства и версия ОС. Данные, конечно, подтягивает не сам сервис, а клиент игры, в который добавили эту функциональность наши разработчики.
В Zendesk есть несколько крутых особенностей:
1. Автоматизация — автоматическое выполнение действий при разных условиях.
2. Теги — ключевые слова, по которым можно категоризировать письма. Также можно настраивать действия, например, если письмо содержит определенный тег, то пишется автоответ.
3. Макросы — готовые шаблоны ответов. Можно заранее настроить шаблоны ответов под различные ситуации, а потом выбирать их прямо в окне тикета. Мы пока что используем шаблоны из специальной Google-таблицы.
4. История интеракций с пользователем. У каждого юзера в Zendesk есть профиль, где хранятся все тикеты и история взаимодействий. За 4 месяца у нас набралось почти 24 тысяч уникальных профилей.
5. Поддержка вкладок — как в браузере, но в рамках сервиса. Удобно для одновременной работы над несколькими тикетами.
6. Встроенный переводчик и поддержка нескольких языков с динамическим содержимым. Сервис динамически вставляет содержимое тикета на языке пользователя, агентам не нужно выполнять перевод. Но фича не работает в тарифном плане Support Team.
7. Интеграции со сторонними сервисами. У Zendesk для этого есть собственный стор.
Автоматизация и триггеры
Далее идет настройка автоматизации. Их тут два типа:
Automations — это правила автоматизации, где настраивается, в течении какого периода времени должно быть выполнено то или иное действие. Например, если тикет открыт в течение длительного периода времени и юзер не получил никакого ответа, то юзер получает автореплай с просьбой подождать еще немного. Это помогает сгладить негатив.
Triggers работают немного иначе. Это те же самые Automations, но правила автоматизации действий срабатывают только при конкретных условиях. Например, если статус тикета был изменен со статуса open на solved, игрок получит автоматическое сообщение с благодарностью, что обратился в службу поддержки. Сценариев может быть очень много, здесь можно включить фантазию.
В любой момент триггеры можно включать/выключать, добавлять, редактировать и сортировать.
Сейчас Automations у нас выстроены так, все из них стандартные:
- Тикет закрывается после четырех дней нахождения в статусе Solved.
- Тикет закрывается если игрок не дал ответа в течении 30 дней.
- Тикет закрывается после подтверждения удаления его аккаунта из игры.
- Если тикет находится в статусе ожидания больше 24 часов, пользователь получает уведомление о том, что мы ждем от него ответ.
- Если тикет находится в статусе ожидания больше 5 суток, пользователь получает уведомление о том, что мы ждем от него ответ.
Triggers настроены так, что мы можем мгновенно отправлять готовые сообщения игрокам, как только получаем от них запрос. Автоответы меняются в зависимости от того, из какой точки в игре отправлялся запрос: например, если игрок просит удалить аккаунт, ему приходит письмо с наводящими вопросами; а если пишет про баг, то получает ссылку на Discord. Триггеры автоответов мы привязали к типу запроса игрока, который приходит автоматически со всей информацией об аккаунте.
В Triggers обязательно оставляем эти два стандартных триггера активными, иначе пользователи не будут видеть ваших ответов.
А вот триггеры категорий вроде Player Report (cheating, inappropriate behavior, other) настроены так, что при получении письма игрок сразу получает ответ с текстом, тикет меняет свой статус на solved, а содержимое письма заносится в отдельную табличку. Так мы фильтруем тикеты с низким приоритетом выполнения. Ниже рассказано чуть подробнее.
Спам тоже бывает. Убирается с помощью маркировки спама в меню самого тикета.