Inline bot
This commit is contained in:
parent
355e0d32c6
commit
7d5ccfc815
2 changed files with 38 additions and 19 deletions
|
@ -8,7 +8,8 @@ channels = [
|
||||||
-311159479,
|
-311159479,
|
||||||
-320933904,
|
-320933904,
|
||||||
-45394299,
|
-45394299,
|
||||||
-1001413424448 # Bot et des culs
|
-1001413424448, # Bot et des culs
|
||||||
|
452970435 # @Klafyvel
|
||||||
]
|
]
|
||||||
admins = [
|
admins = [
|
||||||
452970435 # klafyvel
|
452970435 # klafyvel
|
||||||
|
@ -21,25 +22,25 @@ quotes = [
|
||||||
"J'ai vraiment hâte de rencontrer les N1As de l'année prochaine.",
|
"J'ai vraiment hâte de rencontrer les N1As de l'année prochaine.",
|
||||||
"À Metz vous êtes vraiment des experts.",
|
"À Metz vous êtes vraiment des experts.",
|
||||||
"Centrale Metz",
|
"Centrale Metz",
|
||||||
"<Tipunchetrhum> Il faut vraiment être con pour acheter une imprimante Brother.",
|
"<@Tipunchetrhum> Il faut vraiment être con pour acheter une imprimante Brother.",
|
||||||
"<David_5-1> bon, babel avec un pare-feu nftables, vous avez prévu d'y réfléchir pour 2042 ou ça a des chances d'arriver sous peu ?",
|
"<David_5-1> bon, babel avec un pare-feu nftables, vous avez prévu d'y réfléchir pour 2042 ou ça a des chances d'arriver sous peu ?",
|
||||||
"<Chibrac> je glande presque autant qu'un pelec",
|
"<@Chibrac> je glande presque autant qu'un pelec",
|
||||||
"<Chibrac> choisi l'excuse du moment chez ton supelec : l'inté, la campagne, les partiels, les vacances",
|
"<@Chibrac> choisi l'excuse du moment chez ton supelec : l'inté, la campagne, les partiels, les vacances",
|
||||||
"<Chibrac> ouais mais j'ai jamais vu de gens aussi efficaces que les pelec pour justifier pq ils peuvent pas faire un truc",
|
"<@Chibrac> ouais mais j'ai jamais vu de gens aussi efficaces que les pelec pour justifier pq ils peuvent pas faire un truc",
|
||||||
"<Grubigrub> Chirac on connaît tous tes performances scolaires t'inquiète pas",
|
"<@Grubigrub> Chirac on connaît tous tes performances scolaires t'inquiète pas",
|
||||||
"Un jour j'irais me frotter à #federez, pour voir du gros sel.",
|
"Un jour j'irais me frotter à #federez, pour voir du gros sel.",
|
||||||
"<S&M> un prof de maths est généralement compétent en maths, alors que j’attends toujours de rencontrer un prof d’info qui est capable de mettre quelque chose en prod",
|
"<S&M> un prof de maths est généralement compétent en maths, alors que j’attends toujours de rencontrer un prof d’info qui est capable de mettre quelque chose en prod",
|
||||||
"<shaka> D'après le fameux théorème centralien je pense que j'ai droit donc j'ai le droit",
|
"<shaka> D'après le fameux théorème centralien je pense que j'ai droit donc j'ai le droit",
|
||||||
"<shaka> dtf vous arriverez pas au niveau de via qui découvre tous les ans des thunes placées sur des comptes random",
|
"<shaka> dtf vous arriverez pas au niveau de via qui découvre tous les ans des thunes placées sur des comptes random",
|
||||||
"<shaka> il faudrait faire un achivement : a réussi a désinstaller le virtualiseur du virtualiseur",
|
"<shaka> il faudrait faire un achivement : a réussi a désinstaller le virtualiseur du virtualiseur",
|
||||||
"<Guimoz> De toute facon il y a ceux qui ont réussi à conserver leur Coopé™ et ceux qui doivent s'exiler pour en retrouver une",
|
"<@Guimoz> De toute facon il y a ceux qui ont réussi à conserver leur Coopé™ et ceux qui doivent s'exiler pour en retrouver une",
|
||||||
"<shaka> je rajoute du gros sel façon ViaRézo \n<klafyvel> fais gaffe bientôt le steak va coder en node",
|
"<shaka> je rajoute du gros sel façon ViaRézo \n<klafyvel> fais gaffe bientôt le steak va coder en node",
|
||||||
"<Klafyvel> Je préfère parler de limitation de débit afin de prioriser les services critiques.",
|
"<@Klafyvel> Je préfère parler de limitation de débit afin de prioriser les services critiques.",
|
||||||
"<Grubigrub> Le jour où @lebanni est engagé dans une entreprise,j'y enlève toutes mes actions.",
|
"<@Grubigrub> Le jour où @lebanni est engagé dans une entreprise,j'y enlève toutes mes actions.",
|
||||||
"<Nanoy> Toute façon, les prezs rezo c'est souvent des pots de fleurs avec une clé root.",
|
"<@Nanoy> Toute façon, les prezs rezo c'est souvent des pots de fleurs avec une clé root.",
|
||||||
"<@lebanni> Je suis un gros quetard",
|
"<@lebanni> Je suis un gros quetard",
|
||||||
"La soeur du banni : Matthieu, tu peux m'aider sur mon exo de maths ? @lebanni : Flemme, mon temps vaut de l'argent",
|
"La soeur du banni : Matthieu, tu peux m'aider sur mon exo de maths ? @lebanni : Flemme, mon temps vaut de l'argent",
|
||||||
"<Nanoy> Un JT c'est pas comme des nocturnes FedeRez, ça s'organise pas tout seul."
|
"<@Nanoy> Un JT c'est pas comme des nocturnes FedeRez, ça s'organise pas tout seul."
|
||||||
]
|
]
|
||||||
ping_extra = [
|
ping_extra = [
|
||||||
"^[sS]el",
|
"^[sS]el",
|
||||||
|
|
|
@ -45,10 +45,14 @@ class Bot:
|
||||||
|
|
||||||
self.quote_handler = CommandHandler('ping', self.on_ping)
|
self.quote_handler = CommandHandler('ping', self.on_ping)
|
||||||
self.match_handler = MessageHandler(Filters.text, self.on_message)
|
self.match_handler = MessageHandler(Filters.text, self.on_message)
|
||||||
|
self.inline_quote_handler = InlineQueryHandler(self.on_inline)
|
||||||
|
self.dispatcher.add_handler(self.inline_quote_handler)
|
||||||
self.dispatcher.add_handler(self.quote_handler)
|
self.dispatcher.add_handler(self.quote_handler)
|
||||||
self.dispatcher.add_handler(self.match_handler)
|
self.dispatcher.add_handler(self.match_handler)
|
||||||
|
|
||||||
def is_allowed(self, update, context):
|
def is_allowed(self, update, context):
|
||||||
|
if update.inline_query:
|
||||||
|
return update.effective_user.id in self.channels
|
||||||
return update.effective_chat.id in self.channels
|
return update.effective_chat.id in self.channels
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
|
@ -67,13 +71,27 @@ class Bot:
|
||||||
if not query:
|
if not query:
|
||||||
return
|
return
|
||||||
results = list()
|
results = list()
|
||||||
|
c = {
|
||||||
|
"channel": getattr(update.effective_chat, "title", ""),
|
||||||
|
"name": self.name,
|
||||||
|
"user": update.effective_user.name,
|
||||||
|
"message": getattr(update.effective_message, "text", ""),
|
||||||
|
}
|
||||||
|
for i,quote in enumerate(self.pings):
|
||||||
|
actual_quote = ""
|
||||||
|
if not callable(quote):
|
||||||
|
actual_quote = quote.format(**c)
|
||||||
|
else:
|
||||||
|
actual_quote = quote(self, username, channel, message)
|
||||||
|
if re.search(query, actual_quote) or not query:
|
||||||
results.append(
|
results.append(
|
||||||
InlineQueryResultArticle(
|
InlineQueryResultArticle(
|
||||||
id=query.upper(),
|
id=i,
|
||||||
title='Caps',
|
title=actual_quote,
|
||||||
input_message_content=InputTextMessageContent(query.upper())
|
input_message_content=InputTextMessageContent(actual_quote)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
context.bot.answer_inline_query(update.inline_query.id, results)
|
context.bot.answer_inline_query(update.inline_query.id, results)
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,7 +99,7 @@ class Bot:
|
||||||
if not self.is_allowed(update, context):
|
if not self.is_allowed(update, context):
|
||||||
context.bot.send_message(
|
context.bot.send_message(
|
||||||
chat_id=update.effective_chat.id,
|
chat_id=update.effective_chat.id,
|
||||||
text="Sorry, mamma told me not to talk with random strangers.",
|
text="Sorry, mamma told me not to talk with random strangers. You need to allow chat id {}.".format(update.effective_chat.id),
|
||||||
reply_to_message_id=update.effective_message.message_id
|
reply_to_message_id=update.effective_message.message_id
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in a new issue