inline.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. from wbb import app
  2. from wbb.utils.inlinefuncs import *
  3. from pyrogram import filters
  4. from pyrogram.errors.exceptions.bad_request_400 import QueryIdInvalid
  5. __MODULE__ = "Inline"
  6. __HELP__ = '''```
  7. - alive - Check Bot's Stats.
  8. - tr [LANG] [QUERY] - Translate Text.
  9. - ud [QUERY] - Urban Dictionary Query.
  10. - google [QUERY] - Google Search.
  11. - webss [URL] - Take Screenshot Of A Website.
  12. - bitly [URL] - Shorten A Link.
  13. - wall [QUERY] - Find Wallpapers.
  14. - saavn [SONG_NAME] - Get Songs From Saavn.
  15. - deezer [SONG_NAME] - Get Songs From Deezer.
  16. - yt [Query] - Youtube Search.
  17. - torrent [QUERY] - Torrent Search.
  18. - lyrics [QUERY] - Lyrics Search.
  19. - eval [CODE] - Execute Python Code.
  20. - gh_user [USERNAME] - Search A Github User.
  21. - gh_repo [USERNAME/REPO] - Search A Github Repo.
  22. - search [QUERY] - Search For A Message Globally.
  23. ```'''
  24. @app.on_message(filters.command("inline"))
  25. async def inline_help(_, message):
  26. await app.send_message(message.chat.id, text=__HELP__)
  27. @app.on_inline_query()
  28. async def inline_query_handler(client, query):
  29. try:
  30. text = query.query.lower()
  31. answers = []
  32. if text.strip() == '':
  33. answerss = await inline_help_func(__HELP__)
  34. await client.answer_inline_query(
  35. query.id,
  36. results=answerss,
  37. cache_time=10
  38. )
  39. return
  40. elif text.split()[0] == "alive":
  41. answerss = await alive_function(answers)
  42. await client.answer_inline_query(
  43. query.id,
  44. results=answerss,
  45. cache_time=10
  46. )
  47. elif text.split()[0] == "tr":
  48. if len(text.split()) < 3:
  49. await client.answer_inline_query(
  50. query.id,
  51. results=answers,
  52. switch_pm_text='Translate Text.',
  53. switch_pm_parameter='inline',
  54. )
  55. return
  56. lang = text.split()[1]
  57. tex = text.split(None, 2)[2].strip()
  58. answerss = await translate_func(answers, lang, tex)
  59. await client.answer_inline_query(
  60. query.id,
  61. results=answerss,
  62. )
  63. elif text.split()[0] == "ud":
  64. if len(text.split()) < 2:
  65. await client.answer_inline_query(
  66. query.id,
  67. results=answers,
  68. switch_pm_text='Search Urban Dictionary.',
  69. switch_pm_parameter='inline',
  70. )
  71. return
  72. tex = text.split(None, 1)[1].strip()
  73. answerss = await urban_func(answers, tex)
  74. await client.answer_inline_query(
  75. query.id,
  76. results=answerss,
  77. )
  78. elif text.split()[0] == "google":
  79. if len(text.split()) < 2:
  80. await client.answer_inline_query(
  81. query.id,
  82. results=answers,
  83. switch_pm_text='Search Google.',
  84. switch_pm_parameter='inline',
  85. )
  86. return
  87. tex = text.split(None, 1)[1].strip()
  88. answerss = await google_search_func(answers, tex)
  89. await client.answer_inline_query(
  90. query.id,
  91. results=answerss,
  92. )
  93. elif text.split()[0] == "webss":
  94. if len(text.split()) < 2:
  95. await client.answer_inline_query(
  96. query.id,
  97. results=answers,
  98. switch_pm_text='Take Screenshot Of A Website.',
  99. switch_pm_parameter='inline',
  100. )
  101. return
  102. tex = text.split(None, 1)[1].strip()
  103. answerss = await webss(tex)
  104. await client.answer_inline_query(
  105. query.id,
  106. results=answerss,
  107. cache_time=2
  108. )
  109. elif text.split()[0] == "bitly":
  110. if len(text.split()) < 2:
  111. await client.answer_inline_query(
  112. query.id,
  113. results=answers,
  114. switch_pm_text='Shorten A Link.',
  115. switch_pm_parameter='inline',
  116. )
  117. return
  118. tex = text.split(None, 1)[1].strip()
  119. answerss = await shortify(tex)
  120. await client.answer_inline_query(
  121. query.id,
  122. results=answerss,
  123. cache_time=2
  124. )
  125. elif text.split()[0] == "wall":
  126. if len(text.split()) < 2:
  127. await client.answer_inline_query(
  128. query.id,
  129. results=answers,
  130. switch_pm_text='Search Wallpapers.',
  131. switch_pm_parameter='inline',
  132. )
  133. return
  134. tex = text.split(None, 1)[1].strip()
  135. answerss = await wall_func(answers, tex)
  136. await client.answer_inline_query(
  137. query.id,
  138. results=answerss
  139. )
  140. elif text.split()[0] == "saavn":
  141. if len(text.split()) < 2:
  142. await client.answer_inline_query(
  143. query.id,
  144. results=answers,
  145. switch_pm_text='Search Songs On JioSaavn.',
  146. switch_pm_parameter='inline',
  147. )
  148. return
  149. tex = text.split(None, 1)[1].strip()
  150. answerss = await saavn_func(answers, tex)
  151. await client.answer_inline_query(
  152. query.id,
  153. results=answerss
  154. )
  155. elif text.split()[0] == "deezer":
  156. if len(text.split()) < 2:
  157. await client.answer_inline_query(
  158. query.id,
  159. results=answers,
  160. switch_pm_text='Search Songs On Deezer.',
  161. switch_pm_parameter='inline',
  162. )
  163. return
  164. tex = text.split(None, 1)[1].strip()
  165. answerss = await deezer_func(answers, tex)
  166. await client.answer_inline_query(
  167. query.id,
  168. results=answerss
  169. )
  170. elif text.split()[0] == "torrent":
  171. if len(text.split()) < 2:
  172. await client.answer_inline_query(
  173. query.id,
  174. results=answers,
  175. switch_pm_text='Search For Torrent.',
  176. switch_pm_parameter='inline',
  177. )
  178. return
  179. tex = text.split(None, 1)[1].strip()
  180. answerss = await torrent_func(answers, tex)
  181. await client.answer_inline_query(
  182. query.id,
  183. results=answerss,
  184. )
  185. elif text.split()[0] == "yt":
  186. if len(text.split()) < 2:
  187. await client.answer_inline_query(
  188. query.id,
  189. results=answers,
  190. switch_pm_text='Search YouTube.',
  191. switch_pm_parameter='inline',
  192. )
  193. return
  194. tex = text.split(None, 1)[1].strip()
  195. answerss = await youtube_func(answers, tex)
  196. await client.answer_inline_query(
  197. query.id,
  198. results=answerss
  199. )
  200. elif text.split()[0] == "lyrics":
  201. if len(text.split()) < 2:
  202. await client.answer_inline_query(
  203. query.id,
  204. results=answers,
  205. switch_pm_text='Search Lyrics.',
  206. switch_pm_parameter='inline',
  207. )
  208. return
  209. tex = text.split(None, 1)[1].strip()
  210. answerss = await lyrics_func(answers, tex)
  211. await client.answer_inline_query(
  212. query.id,
  213. results=answerss
  214. )
  215. elif text.split()[0] == "eval":
  216. if len(text.split()) < 2:
  217. await client.answer_inline_query(
  218. query.id,
  219. results=answers,
  220. switch_pm_text='Excute Python Code.',
  221. switch_pm_parameter='inline',
  222. )
  223. return
  224. user_id = query.from_user.id
  225. tex = text.split(None, 1)[1].strip()
  226. answerss = await eval_func(answers, tex, user_id)
  227. await client.answer_inline_query(
  228. query.id,
  229. results=answerss,
  230. cache_time=2
  231. )
  232. elif text.split()[0] == "gh_user":
  233. if len(text.split()) < 2:
  234. await client.answer_inline_query(
  235. query.id,
  236. results=answers,
  237. switch_pm_text='Search Github User.',
  238. switch_pm_parameter='inline',
  239. )
  240. return
  241. tex = text.split(None, 1)[1].strip()
  242. answerss = await github_user_func(answers, tex)
  243. await client.answer_inline_query(
  244. query.id,
  245. results=answerss,
  246. cache_time=2
  247. )
  248. elif text.split()[0] == "gh_repo":
  249. if len(text.split()) < 2:
  250. await client.answer_inline_query(
  251. query.id,
  252. results=answers,
  253. switch_pm_text='Search Github Repo.',
  254. switch_pm_parameter='inline',
  255. )
  256. return
  257. tex = text.split(None, 1)[1].strip()
  258. answerss = await github_repo_func(answers, tex)
  259. await client.answer_inline_query(
  260. query.id,
  261. results=answerss,
  262. cache_time=2
  263. )
  264. elif text.split()[0] == "search":
  265. if len(text.split()) < 2:
  266. await client.answer_inline_query(
  267. query.id,
  268. results=answers,
  269. switch_pm_text='Global Message Search.',
  270. switch_pm_parameter='inline',
  271. )
  272. return
  273. user_id = query.from_user.id
  274. tex = text.split(None, 1)[1].strip()
  275. answerss = await tg_search_func(answers, tex, user_id)
  276. await client.answer_inline_query(
  277. query.id,
  278. results=answerss,
  279. cache_time=2
  280. )
  281. elif text.split()[0] == "audio":
  282. answerss = await cached_audio_test_func(answers)
  283. await client.answer_inline_query(
  284. query.id,
  285. results=answerss,
  286. cache_time=2
  287. )
  288. except (IndexError, TypeError, KeyError, ValueError, QueryIdInvalid) as e:
  289. print(e + "InLine")
  290. return