inline.py 12 KB

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