dimagi / open-chat-studio

A web based platform for building Chatbots backed by Large Language Models
BSD 3-Clause "New" or "Revised" License
13 stars 7 forks source link

Refactor Channel to more clearly separate "single session per user" from "multiple session per user" #462

Open snopoke opened 2 weeks ago

snopoke commented 2 weeks ago

Slack and Web channels are 'multi-session' per user where each user / participant can have multiple active sessions. Other channels like Telegram, Whatsapp etc can only have a single active session.

Consider splitting the ChannelBase class to more clearly delineate the differences.

Also refactor test_base_channel_behaviour. Currently we use the telegram channel as a vehicle to test this, but ideally we should be using all channel types.