inline.py 11 KB

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