inline.py 12 KB

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