1 Commits

Author SHA1 Message Date
brent
6c877c9016 add dockerfile 2020-05-24 21:23:21 -04:00
3 changed files with 33 additions and 11 deletions

20
Dockerfile Normal file
View File

@@ -0,0 +1,20 @@
FROM node:10-alpine
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
WORKDIR /home/node/app
COPY ./src/ ./src/
COPY ./transcripts/ ./transcripts/
COPY package*.json ./
USER node
RUN npm config set strict-ssl false
RUN npm install
RUN npm config set strict-ssl true
RUN npm run build
COPY --chown=node:node . .
CMD ["npm", "start"]

View File

@@ -1,6 +1,6 @@
{
"name": "private-safesupport-bot",
"version": "1.0.1",
"name": "safesupport-bot",
"version": "1.0.0",
"description": "Chatbot to manage interactions on Safe Support Chat",
"main": "dist/index.js",
"scripts": {

View File

@@ -109,10 +109,11 @@ class OcrccBot {
let chatOffline = true;
try {
const roomMembers = await this.client.getJoinedRoomMembers(this.config.FACILITATOR_ROOM_ID)
const members = Object.keys(roomMembers["joined"]);
const data = await this.client.getGroupUsers(this.config.FACILITATOR_GROUP_ID)
const members = data.chunk
members.forEach(memberId => {
members.forEach(member => {
const memberId = member.user_id;
const user = this.client.getUser(memberId);
if (
user &&
@@ -141,17 +142,18 @@ class OcrccBot {
this.localStorage.removeItem(`${roomId}-waiting`)
try {
const facilitatorsRoomMembers = await this.client.getJoinedRoomMembers(this.config.FACILITATOR_ROOM_ID)
const supportRoomMembers = await this.client.getJoinedRoomMembers(roomId)
const groupUsers = await this.client.getGroupUsers(this.config.FACILITATOR_GROUP_ID)
const roomMembers = await this.client.getJoinedRoomMembers(roomId)
const roomMembersIds = Object.keys(supportRoomMembers["joined"]);
const facilitatorsIds = Object.keys(facilitatorsRoomMembers["joined"]);
const roomMemberIds = Object.keys(roomMembers["joined"]);
const groupMemberIds = groupUsers["chunk"]
if (!roomMembersIds || !facilitatorsIds) return;
if (!roomMemberIds || !groupMemberIds) return;
const facilitatorsIds = groupMemberIds.map(f => f.user_id);
facilitatorsIds.forEach(f => {
if (!roomMembersIds.includes(f)) {
if (!roomMemberIds.includes(f)) {
this.kickUserFromRoom(roomId, f);
}
});