inline.py 11 KB

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