Skip to content

Commit

Permalink
chore: rename status.{old->prev,new->current}
Browse files Browse the repository at this point in the history
  • Loading branch information
MKRhere committed Dec 29, 2023
1 parent 78601b6 commit e11c1d2
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions src/composer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@ interface StatusContextExtn {
/** */
change: StatusChange
/** Shorthand for update.my_chat_member.old_chat_member.status */
old: tg.ChatMember['status']
prev: tg.ChatMember['status']
/** Shorthand for update.my_chat_member.new_chat_member.status */
new: tg.ChatMember['status']
current: tg.ChatMember['status']
}
}

Expand Down Expand Up @@ -970,14 +970,14 @@ export class Composer<C extends Context> implements MiddlewareObj<C> {

return Composer.on('my_chat_member', async (ctx, next) => {
const status = {
new: ctx.myChatMember.new_chat_member.status,
old: ctx.myChatMember.old_chat_member.status,
prev: ctx.myChatMember.new_chat_member.status,
current: ctx.myChatMember.old_chat_member.status,
}

for (const change of changes) {
// todo: decide whether to normalise and fire for all matching changes, or just the first matching one
// ref: https://github.com/telegraf/telegraf/issues/1872
if (checkStatusChange(change, ctx.chat.type, status.new, status.old))
if (checkStatusChange(change, ctx.chat.type, status))
return handler(
Object.assign(ctx, { status: Object.assign(status, { change }) }),
next
Expand Down Expand Up @@ -1041,19 +1041,18 @@ function normaliseTextArguments(argument: MaybeArray<string>, prefix = '') {
function checkStatusChange(
change: StatusChange,
chatType: tg.Chat['type'],
current: tg.ChatMember['status'],
old: tg.ChatMember['status']
{ prev, current }: Record<'prev' | 'current', tg.ChatMember['status']>
) {
if (chatType === 'private') {
if (change === 'blocked') return current === 'kicked'
if (change === 'unblocked') return current === 'member'
} else {
if (change === 'joined') return old === 'left' || old === 'kicked'
if (change === 'joined') return prev === 'left' || prev === 'kicked'
if (change === 'banned') return current === 'kicked'
if (change === 'left') return current === 'left'
if (change === 'restricted') return current === 'restricted'
if (change === 'promoted') return current === 'administrator'
if (change === 'demoted') return old === 'administrator'
if (change === 'demoted') return prev === 'administrator'
}
}

Expand Down

0 comments on commit e11c1d2

Please sign in to comment.