mirror of
https://github.com/miloszowi/everyone-mention-telegram-bot.git
synced 2025-05-20 17:24:06 +00:00
Added silent argument to /everyone command, updated README.md
Author: miloszowi<miloszweb@gmail.com>
This commit is contained in:
parent
cd8e3507ca
commit
2b0728b58c
@ -76,6 +76,11 @@ If you haven't opted-in before, alternative reply will be displayed.
|
|||||||

|

|
||||||
|
|
||||||
### `/everyone`
|
### `/everyone`
|
||||||
|
You can also type
|
||||||
|
```
|
||||||
|
/everyone silent
|
||||||
|
```
|
||||||
|
to list users that opted-in for everyone-mentions but without tagging them.
|
||||||
Will mention everyone that opted-in for everyone-mentions separated by spaces.
|
Will mention everyone that opted-in for everyone-mentions separated by spaces.
|
||||||
|
|
||||||
If user does not have nickname, it will first try to assign his firstname, then random firstname from `names` python library
|
If user does not have nickname, it will first try to assign his firstname, then random firstname from `names` python library
|
||||||
|
@ -13,6 +13,7 @@ from handler.abstractHandler import AbstractHandler
|
|||||||
class MentionHandler(AbstractHandler):
|
class MentionHandler(AbstractHandler):
|
||||||
botHandler: CommandHandler
|
botHandler: CommandHandler
|
||||||
userRepository: UserRepository
|
userRepository: UserRepository
|
||||||
|
silent: str = 'silent'
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self.botHandler = CommandHandler('everyone', self.handle)
|
self.botHandler = CommandHandler('everyone', self.handle)
|
||||||
@ -23,7 +24,7 @@ class MentionHandler(AbstractHandler):
|
|||||||
users = self.userRepository.getAllForChat(updateData.getChatId())
|
users = self.userRepository.getAllForChat(updateData.getChatId())
|
||||||
|
|
||||||
if users:
|
if users:
|
||||||
self.reply(update, self.buildMentionMessage(users))
|
self.reply(update, self.buildMentionMessage(users, self.isSilent(context)))
|
||||||
return
|
return
|
||||||
|
|
||||||
self.reply(update, mention_failed)
|
self.reply(update, mention_failed)
|
||||||
@ -31,10 +32,16 @@ class MentionHandler(AbstractHandler):
|
|||||||
def getBotHandler(self) -> CommandHandler:
|
def getBotHandler(self) -> CommandHandler:
|
||||||
return self.botHandler
|
return self.botHandler
|
||||||
|
|
||||||
def buildMentionMessage(self, users: Iterable[User]) -> str:
|
def buildMentionMessage(self, users: Iterable[User], silent: bool = False) -> str:
|
||||||
result = ''
|
result = ''
|
||||||
|
|
||||||
for user in users:
|
for user in users:
|
||||||
result += f'*[{user.getUsername()}](tg://user?id={user.getUserId()})* '
|
if not silent:
|
||||||
|
result += f'*[{user.getUsername()}](tg://user?id={user.getUserId()})* '
|
||||||
|
else:
|
||||||
|
result += f'*{user.getUsername()}\({user.getUserId()}\)*\n'
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def isSilent(self, context: CallbackContext) -> bool:
|
||||||
|
return context.args and context.args[0] == self.silent
|
@ -27,7 +27,6 @@ class UpdateData():
|
|||||||
def createFromUpdate(update: Update) -> UpdateData:
|
def createFromUpdate(update: Update) -> UpdateData:
|
||||||
userId = str(update.effective_user.id)
|
userId = str(update.effective_user.id)
|
||||||
chatId = str(update.effective_chat.id)
|
chatId = str(update.effective_chat.id)
|
||||||
chatId = "-284685928"
|
|
||||||
username = update.effective_user.username or update.effective_user.first_name
|
username = update.effective_user.username or update.effective_user.first_name
|
||||||
|
|
||||||
if not username:
|
if not username:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user