Versions in this module Expand all Collapse all v1 v1.5.0 Oct 27, 2024 Changes in this version + func KickoffPair(ctx context.Context, db *gorm.DB, client *slack.Client, p *KickoffPairParams) error + func QueueKickoffPairJob(ctx context.Context, db *gorm.DB, p *KickoffPairParams) error + func QueueReportMatchesJob(ctx context.Context, db *gorm.DB, p *ReportMatchesParams) error + func ReportMatches(ctx context.Context, db *gorm.DB, client *slack.Client, p *ReportMatchesParams) error + type KickoffPairParams struct + ChannelID string + MatchID int32 + Participant string + Partner string + type ReportMatchesParams struct + ChannelID string + Pairs int + Participants int + RoundID int32 + Unpaired int v1.4.0 Oct 17, 2024 Changes in this version + func CreateMatch(ctx context.Context, db *gorm.DB, client *slack.Client, p *CreateMatchParams) error + func ExtractChannelIDFromPrivateMetada(interaction *slack.InteractionCallback) (string, error) + func QueueCreateMatchJob(ctx context.Context, db *gorm.DB, p *CreateMatchParams) error type CheckPairParams + IsMidRound bool + type CreateMatchParams struct + ChannelID string + Participant string v1.3.1 Oct 4, 2024 v1.3.0 Sep 30, 2024 Changes in this version + func GreetAdmin(ctx context.Context, db *gorm.DB, client *slack.Client, p *GreetAdminParams) error + func HandleGreetAdminButton(ctx context.Context, client *slack.Client, ...) error + func NotifyMember(ctx context.Context, db *gorm.DB, client *slack.Client, p *NotifyMemberParams) error + func QueueGreetAdminJob(ctx context.Context, db *gorm.DB, p *GreetAdminParams) error + func QueueNotifyMemberJob(ctx context.Context, db *gorm.DB, p *NotifyMemberParams) error + func RenderOnboardingChannelView(ctx context.Context, interaction *slack.InteractionCallback, baseURL string) ([]byte, error) + func RenderOnboardingGenderView(ctx context.Context, interaction *slack.InteractionCallback, baseURL string) ([]byte, error) + func RespondGreetAdminWebhook(ctx context.Context, client *http.Client, ...) error + func SetMemberIsActive(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + func UpsertChannelSettings(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + func UpsertMemberGenderInfo(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + type GreetAdminParams struct + ChannelID string + Inviter string + type NotifyMemberParams struct + ChannelID string + UserID string type UpdateMemberParams + Gender string + HasGenderPreference *bool v1.2.0 Aug 24, 2024 Changes in this version type AddChannelParams + ConnectionMode string + Inviter string type UpdateChannelParams + ConnectionMode string v1.1.0 Aug 18, 2024 v1.0.1 Dec 9, 2022 v1.0.0 Nov 23, 2022 Changes in this version + func AddChannel(ctx context.Context, db *gorm.DB, client *slack.Client, p *AddChannelParams) error + func AddMember(ctx context.Context, db *gorm.DB, client *slack.Client, p *AddMemberParams) error + func CheckPair(ctx context.Context, db *gorm.DB, client *slack.Client, p *CheckPairParams) error + func CreateMatches(ctx context.Context, db *gorm.DB, client *slack.Client, p *CreateMatchesParams) error + func CreatePair(ctx context.Context, db *gorm.DB, client *slack.Client, p *CreatePairParams) error + func CreateRound(ctx context.Context, db *gorm.DB, client *slack.Client, p *CreateRoundParams) error + func DeleteChannel(ctx context.Context, db *gorm.DB, client *slack.Client, p *DeleteChannelParams) error + func DeleteMember(ctx context.Context, db *gorm.DB, client *slack.Client, p *DeleteMemberParams) error + func EndRound(ctx context.Context, db *gorm.DB, client *slack.Client, p *EndRoundParams) error + func ExecJob(ctx context.Context, db *gorm.DB, client *slack.Client, job *models.Job, ...) error + func FirstChatRouletteRound(t time.Time, weekday string, hour int) time.Time + func GetBotUserID(ctx context.Context, client *slack.Client) (string, error) + func GreetMember(ctx context.Context, db *gorm.DB, client *slack.Client, p *GreetMemberParams) error + func HandleAppHomeEvent(ctx context.Context, client *slack.Client, db *gorm.DB, p *AppHomeParams) error + func HandleCheckPairButtons(ctx context.Context, client *http.Client, db *gorm.DB, ...) error + func HandleGreetMemberButton(ctx context.Context, client *slack.Client, ...) error + func IsUserABot(ctx context.Context, client *slack.Client, userID string) (bool, error) + func NextChatRouletteRound(t time.Time, interval models.IntervalEnum) time.Time + func NotifyPair(ctx context.Context, db *gorm.DB, client *slack.Client, p *NotifyPairParams) error + func PairParticipants(pairings []ChatRoulettePair) map[string]string + func QueueAddChannelJob(ctx context.Context, db *gorm.DB, p *AddChannelParams) error + func QueueAddMemberJob(ctx context.Context, db *gorm.DB, p *AddMemberParams) error + func QueueCheckPairJob(ctx context.Context, db *gorm.DB, p *CheckPairParams) error + func QueueCreateMatchesJob(ctx context.Context, db *gorm.DB, p *CreateMatchesParams) error + func QueueCreatePairJob(ctx context.Context, db *gorm.DB, p *CreatePairParams) error + func QueueCreateRoundJob(ctx context.Context, db *gorm.DB, p *CreateRoundParams) error + func QueueDeleteChannelJob(ctx context.Context, db *gorm.DB, p *DeleteChannelParams) error + func QueueDeleteMemberJob(ctx context.Context, db *gorm.DB, p *DeleteMemberParams) error + func QueueEndRoundJob(ctx context.Context, db *gorm.DB, p *EndRoundParams) error + func QueueGreetMemberJob(ctx context.Context, db *gorm.DB, p *GreetMemberParams) error + func QueueJob(ctx context.Context, db *gorm.DB, gJob models.GenericJob[T]) error + func QueueNotifyPairJob(ctx context.Context, db *gorm.DB, p *NotifyPairParams) error + func QueueReportStatsJob(ctx context.Context, db *gorm.DB, p *ReportStatsParams) error + func QueueSyncChannelsJob(ctx context.Context, db *gorm.DB, p *SyncChannelsParams) error + func QueueSyncMembersJob(ctx context.Context, db *gorm.DB, p *SyncMembersParams) error + func QueueUpdateChannelJob(ctx context.Context, db *gorm.DB, p *UpdateChannelParams) error + func QueueUpdateMatchJob(ctx context.Context, db *gorm.DB, p *UpdateMatchParams) error + func QueueUpdateMemberJob(ctx context.Context, db *gorm.DB, p *UpdateMemberParams) error + func RenderOnboardingCalendlyView(ctx context.Context, interaction *slack.InteractionCallback, baseURL string) ([]byte, error) + func RenderOnboardingLocationView(ctx context.Context, interaction *slack.InteractionCallback, baseURL string) ([]byte, error) + func RenderOnboardingProfileView(ctx context.Context, interaction *slack.InteractionCallback, baseURL string) ([]byte, error) + func RenderOnboardingTimezoneView(ctx context.Context, interaction *slack.InteractionCallback, baseURL string) ([]byte, error) + func ReportStats(ctx context.Context, db *gorm.DB, client *slack.Client, p *ReportStatsParams) error + func RespondGreetMemberWebhook(ctx context.Context, client *http.Client, ...) error + func SyncChannels(ctx context.Context, db *gorm.DB, client *slack.Client, p *SyncChannelsParams) error + func SyncMembers(ctx context.Context, db *gorm.DB, client *slack.Client, p *SyncMembersParams) error + func UpdateChannel(ctx context.Context, db *gorm.DB, client *slack.Client, p *UpdateChannelParams) error + func UpdateMatch(ctx context.Context, db *gorm.DB, client *slack.Client, p *UpdateMatchParams) error + func UpdateMember(ctx context.Context, db *gorm.DB, client *slack.Client, p *UpdateMemberParams) error + func UpsertMemberCalendlyLink(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + func UpsertMemberLocationInfo(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + func UpsertMemberProfileInfo(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + func UpsertMemberTimezoneInfo(ctx context.Context, db *gorm.DB, interaction *slack.InteractionCallback) error + func ValidateMemberCalendlyLink(ctx context.Context, link string) error + func ValidateMemberProfileInfo(ctx context.Context, interaction *slack.InteractionCallback) error + type AddChannelParams struct + ChannelID string + Hour int + Interval string + Invitor string + NextRound time.Time + Weekday string + type AddMemberParams struct + ChannelID string + UserID string + type AppHomeParams struct + BotUserID string + URL string + UserID string + View slack.View + type ChatRoulettePair struct + Participant string + Partner string + type CheckPairParams struct + ChannelID string + MatchID int32 + MpimID string + NextRound time.Time + Participant string + Partner string + type CreateMatchesParams struct + ChannelID string + RoundID int32 + type CreatePairParams struct + ChannelID string + MatchID int32 + Participant string + Partner string + type CreateRoundParams struct + ChannelID string + Interval string + NextRound time.Time + type DeleteChannelParams struct + ChannelID string + type DeleteMemberParams struct + ChannelID string + UserID string + type EndRoundParams struct + ChannelID string + NextRound time.Time + type GreetMemberParams struct + ChannelID string + UserID string + type JobFunc func(ctx context.Context, db *gorm.DB, client *slack.Client, p *T) error + type NotifyPairParams struct + ChannelID string + MatchID int32 + Participant string + Partner string + type ReportStatsParams struct + ChannelID string + NextRound time.Time + RoundID int32 + type SyncChannelsParams struct + BotUserID string + ChatRouletteConfig config.ChatRouletteConfig + type SyncMembersParams struct + ChannelID string + type UpdateChannelParams struct + ChannelID string + Hour int + Interval string + NextRound time.Time + Weekday string + type UpdateMatchParams struct + HasMet bool + MatchID int32 + type UpdateMemberParams struct + CalendlyLink sqlcrypter.EncryptedBytes + ChannelID string + City sqlcrypter.EncryptedBytes + Country sqlcrypter.EncryptedBytes + IsActive bool + ProfileLink sqlcrypter.EncryptedBytes + ProfileType sqlcrypter.EncryptedBytes + Timezone sqlcrypter.EncryptedBytes + UserID string