You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
958 B

import {processBotMessage} from '../controllers/bots'
import {Msg} from './interfaces'
import { models } from '../models'
// return bool whether to skip forwarding to tribe
export async function isBotMsg(msg:Msg, sentByMe:boolean): Promise<boolean> {
const txt = msg.message.content
const chat = await models.Chat.findOne({where:{
uuid: msg.chat.uuid
}})
if(!chat) return false
if(txt.startsWith('/bot ')) {
const ok = processBotMessage(msg, chat, null)
return ok?true:false
}
const botInTribe = await models.ChatMember.findOne({where:{
bot:true, chatId: chat.id
}})
if(!botInTribe) return false
if(!(botInTribe.botMakerPubkey && botInTribe.botUuid)) return false
if(txt.startsWith(`${botInTribe.botPrefix} `)){
const ok = await processBotMessage(msg, chat, botInTribe)
return ok?true:false
}
return false
// check if bot msg
// check my ChatMembers to see if its here
// process it "bot_cmd"
}