Skip to content

Commit

Permalink
Merge pull request RocketChat#49 from Shailesh351/sb_fix_bot_typing
Browse files Browse the repository at this point in the history
Remove Bot Typing on Chat Transfer/Close
  • Loading branch information
chadgoss authored Mar 23, 2021
2 parents 039d37b + e78cc6c commit ec4ec74
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
4 changes: 4 additions & 0 deletions handler/OnAgentUnassignedHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { IHttp, IModify, IPersistence, IRead } from '@rocket.chat/apps-engine/de
import { IApp } from '@rocket.chat/apps-engine/definition/IApp';
import { ILivechatEventContext, ILivechatRoom } from '@rocket.chat/apps-engine/definition/livechat';
import { AppSetting, DefaultMessage } from '../config/Settings';
import { removeBotTypingListener } from '../lib//BotTyping';
import { createMessage, sendCloseChatButton } from '../lib/Message';
import { getAppSettingValue } from '../lib/Settings';

Expand All @@ -17,6 +18,9 @@ export class OnAgentUnassignedHandler {
const livechatRoom: ILivechatRoom = this.context.room as ILivechatRoom;
const DialogflowBotUsername: string = await getAppSettingValue(this.read, AppSetting.DialogflowBotUsername);
const { isChatBotFunctional: allowChatBotSession } = this.context.room.customFields as any;
const {id: rid} = livechatRoom;

await removeBotTypingListener(rid);

if (!livechatRoom.servedBy) {
return;
Expand Down
5 changes: 2 additions & 3 deletions handler/PostMessageSentHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import { IApp } from '@rocket.chat/apps-engine/definition/IApp';
import { ILivechatMessage, ILivechatRoom } from '@rocket.chat/apps-engine/definition/livechat';
import { RoomType } from '@rocket.chat/apps-engine/definition/rooms';
import { AppSetting, DefaultMessage } from '../config/Settings';
import { ActionIds } from '../enum/ActionIds';
import { DialogflowRequestType, IDialogflowAction, IDialogflowMessage, IDialogflowPayload, IDialogflowQuickReplies, LanguageCode, Message } from '../enum/Dialogflow';
import { DialogflowRequestType, IDialogflowMessage, IDialogflowQuickReplies, LanguageCode, Message } from '../enum/Dialogflow';

import { Logs } from '../enum/Logs';
import { botTypingListener, removeBotTypingListener } from '../lib//BotTyping';
Expand Down Expand Up @@ -119,7 +118,6 @@ export class PostMessageSentHandler {

if (customFields) {
const { disableInput, displayTyping } = customFields;
console.log({disableInput, displayTyping});
if (disableInput === true && displayTyping === true) {
removeTypingIndicator = false;
}
Expand All @@ -134,6 +132,7 @@ export class PostMessageSentHandler {
private async handleClosedByVisitor(rid: string) {
const DialogflowEnableChatClosedByVisitorEvent: boolean = await getAppSettingValue(this.read, AppSetting.DialogflowEnableChatClosedByVisitorEvent);
const DialogflowChatClosedByVisitorEventName: string = await getAppSettingValue(this.read, AppSetting.DialogflowChatClosedByVisitorEventName);
await removeBotTypingListener(rid);
if (DialogflowEnableChatClosedByVisitorEvent) {
try {
let res: IDialogflowMessage;
Expand Down
3 changes: 3 additions & 0 deletions lib/Room.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { IDepartment, ILivechatRoom, ILivechatTransferData, IVisitor } from '@ro
import { IRoom } from '@rocket.chat/apps-engine/definition/rooms';
import { AppSetting, DefaultMessage } from '../config/Settings';
import { Logs } from '../enum/Logs';
import { removeBotTypingListener } from '../lib//BotTyping';
import { getAppSettingValue } from '../lib/Settings';
import { createMessage, sendCloseChatButton } from './Message';
import { SessionMaintenanceOnceSchedule } from './sessionMaintenance/SessionMaintenanceOnceSchedule';
Expand Down Expand Up @@ -37,6 +38,8 @@ export const closeChat = async (modify: IModify, read: IRead, rid: string) => {
const room: IRoom = (await read.getRoomReader().getById(rid)) as IRoom;
if (!room) { throw new Error(Logs.INVALID_ROOM_ID); }

await removeBotTypingListener(rid);

const closeChatMessage = await getAppSettingValue(read, AppSetting.DialogflowCloseChatMessage);

const result = await modify.getUpdater().getLivechatUpdater()
Expand Down

0 comments on commit ec4ec74

Please sign in to comment.