eventhandlers.go 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038
  1. // Code generated by \"eventhandlers\"; DO NOT EDIT
  2. // See events.go
  3. package discordgo
  4. // Following are all the event types.
  5. // Event type values are used to match the events returned by Discord.
  6. // EventTypes surrounded by __ are synthetic and are internal to DiscordGo.
  7. const (
  8. channelCreateEventType = "CHANNEL_CREATE"
  9. channelDeleteEventType = "CHANNEL_DELETE"
  10. channelPinsUpdateEventType = "CHANNEL_PINS_UPDATE"
  11. channelUpdateEventType = "CHANNEL_UPDATE"
  12. connectEventType = "__CONNECT__"
  13. disconnectEventType = "__DISCONNECT__"
  14. eventEventType = "__EVENT__"
  15. guildBanAddEventType = "GUILD_BAN_ADD"
  16. guildBanRemoveEventType = "GUILD_BAN_REMOVE"
  17. guildCreateEventType = "GUILD_CREATE"
  18. guildDeleteEventType = "GUILD_DELETE"
  19. guildEmojisUpdateEventType = "GUILD_EMOJIS_UPDATE"
  20. guildIntegrationsUpdateEventType = "GUILD_INTEGRATIONS_UPDATE"
  21. guildMemberAddEventType = "GUILD_MEMBER_ADD"
  22. guildMemberRemoveEventType = "GUILD_MEMBER_REMOVE"
  23. guildMemberUpdateEventType = "GUILD_MEMBER_UPDATE"
  24. guildMembersChunkEventType = "GUILD_MEMBERS_CHUNK"
  25. guildRoleCreateEventType = "GUILD_ROLE_CREATE"
  26. guildRoleDeleteEventType = "GUILD_ROLE_DELETE"
  27. guildRoleUpdateEventType = "GUILD_ROLE_UPDATE"
  28. guildUpdateEventType = "GUILD_UPDATE"
  29. messageAckEventType = "MESSAGE_ACK"
  30. messageCreateEventType = "MESSAGE_CREATE"
  31. messageDeleteEventType = "MESSAGE_DELETE"
  32. messageReactionAddEventType = "MESSAGE_REACTION_ADD"
  33. messageReactionRemoveEventType = "MESSAGE_REACTION_REMOVE"
  34. messageUpdateEventType = "MESSAGE_UPDATE"
  35. presenceUpdateEventType = "PRESENCE_UPDATE"
  36. presencesReplaceEventType = "PRESENCES_REPLACE"
  37. rateLimitEventType = "__RATE_LIMIT__"
  38. readyEventType = "READY"
  39. relationshipAddEventType = "RELATIONSHIP_ADD"
  40. relationshipRemoveEventType = "RELATIONSHIP_REMOVE"
  41. resumedEventType = "RESUMED"
  42. typingStartEventType = "TYPING_START"
  43. userGuildSettingsUpdateEventType = "USER_GUILD_SETTINGS_UPDATE"
  44. userSettingsUpdateEventType = "USER_SETTINGS_UPDATE"
  45. userUpdateEventType = "USER_UPDATE"
  46. voiceServerUpdateEventType = "VOICE_SERVER_UPDATE"
  47. voiceStateUpdateEventType = "VOICE_STATE_UPDATE"
  48. )
  49. // channelCreateEventHandler is an event handler for ChannelCreate events.
  50. type channelCreateEventHandler func(*Session, *ChannelCreate)
  51. // Type returns the event type for ChannelCreate events.
  52. func (eh channelCreateEventHandler) Type() string {
  53. return channelCreateEventType
  54. }
  55. // New returns a new instance of ChannelCreate.
  56. func (eh channelCreateEventHandler) New() interface{} {
  57. return &ChannelCreate{}
  58. }
  59. // Handle is the handler for ChannelCreate events.
  60. func (eh channelCreateEventHandler) Handle(s *Session, i interface{}) {
  61. if t, ok := i.(*ChannelCreate); ok {
  62. eh(s, t)
  63. }
  64. }
  65. var _ EventHandler = channelCreateEventHandler(nil)
  66. // channelDeleteEventHandler is an event handler for ChannelDelete events.
  67. type channelDeleteEventHandler func(*Session, *ChannelDelete)
  68. // Type returns the event type for ChannelDelete events.
  69. func (eh channelDeleteEventHandler) Type() string {
  70. return channelDeleteEventType
  71. }
  72. // New returns a new instance of ChannelDelete.
  73. func (eh channelDeleteEventHandler) New() interface{} {
  74. return &ChannelDelete{}
  75. }
  76. // Handle is the handler for ChannelDelete events.
  77. func (eh channelDeleteEventHandler) Handle(s *Session, i interface{}) {
  78. if t, ok := i.(*ChannelDelete); ok {
  79. eh(s, t)
  80. }
  81. }
  82. var _ EventHandler = channelDeleteEventHandler(nil)
  83. // channelPinsUpdateEventHandler is an event handler for ChannelPinsUpdate events.
  84. type channelPinsUpdateEventHandler func(*Session, *ChannelPinsUpdate)
  85. // Type returns the event type for ChannelPinsUpdate events.
  86. func (eh channelPinsUpdateEventHandler) Type() string {
  87. return channelPinsUpdateEventType
  88. }
  89. // New returns a new instance of ChannelPinsUpdate.
  90. func (eh channelPinsUpdateEventHandler) New() interface{} {
  91. return &ChannelPinsUpdate{}
  92. }
  93. // Handle is the handler for ChannelPinsUpdate events.
  94. func (eh channelPinsUpdateEventHandler) Handle(s *Session, i interface{}) {
  95. if t, ok := i.(*ChannelPinsUpdate); ok {
  96. eh(s, t)
  97. }
  98. }
  99. var _ EventHandler = channelPinsUpdateEventHandler(nil)
  100. // channelUpdateEventHandler is an event handler for ChannelUpdate events.
  101. type channelUpdateEventHandler func(*Session, *ChannelUpdate)
  102. // Type returns the event type for ChannelUpdate events.
  103. func (eh channelUpdateEventHandler) Type() string {
  104. return channelUpdateEventType
  105. }
  106. // New returns a new instance of ChannelUpdate.
  107. func (eh channelUpdateEventHandler) New() interface{} {
  108. return &ChannelUpdate{}
  109. }
  110. // Handle is the handler for ChannelUpdate events.
  111. func (eh channelUpdateEventHandler) Handle(s *Session, i interface{}) {
  112. if t, ok := i.(*ChannelUpdate); ok {
  113. eh(s, t)
  114. }
  115. }
  116. var _ EventHandler = channelUpdateEventHandler(nil)
  117. // connectEventHandler is an event handler for Connect events.
  118. type connectEventHandler func(*Session, *Connect)
  119. // Type returns the event type for Connect events.
  120. func (eh connectEventHandler) Type() string {
  121. return connectEventType
  122. }
  123. // Handle is the handler for Connect events.
  124. func (eh connectEventHandler) Handle(s *Session, i interface{}) {
  125. if t, ok := i.(*Connect); ok {
  126. eh(s, t)
  127. }
  128. }
  129. var _ EventHandler = connectEventHandler(nil)
  130. // disconnectEventHandler is an event handler for Disconnect events.
  131. type disconnectEventHandler func(*Session, *Disconnect)
  132. // Type returns the event type for Disconnect events.
  133. func (eh disconnectEventHandler) Type() string {
  134. return disconnectEventType
  135. }
  136. // Handle is the handler for Disconnect events.
  137. func (eh disconnectEventHandler) Handle(s *Session, i interface{}) {
  138. if t, ok := i.(*Disconnect); ok {
  139. eh(s, t)
  140. }
  141. }
  142. var _ EventHandler = disconnectEventHandler(nil)
  143. // eventEventHandler is an event handler for Event events.
  144. type eventEventHandler func(*Session, *Event)
  145. // Type returns the event type for Event events.
  146. func (eh eventEventHandler) Type() string {
  147. return eventEventType
  148. }
  149. // Handle is the handler for Event events.
  150. func (eh eventEventHandler) Handle(s *Session, i interface{}) {
  151. if t, ok := i.(*Event); ok {
  152. eh(s, t)
  153. }
  154. }
  155. var _ EventHandler = eventEventHandler(nil)
  156. // guildBanAddEventHandler is an event handler for GuildBanAdd events.
  157. type guildBanAddEventHandler func(*Session, *GuildBanAdd)
  158. // Type returns the event type for GuildBanAdd events.
  159. func (eh guildBanAddEventHandler) Type() string {
  160. return guildBanAddEventType
  161. }
  162. // New returns a new instance of GuildBanAdd.
  163. func (eh guildBanAddEventHandler) New() interface{} {
  164. return &GuildBanAdd{}
  165. }
  166. // Handle is the handler for GuildBanAdd events.
  167. func (eh guildBanAddEventHandler) Handle(s *Session, i interface{}) {
  168. if t, ok := i.(*GuildBanAdd); ok {
  169. eh(s, t)
  170. }
  171. }
  172. var _ EventHandler = guildBanAddEventHandler(nil)
  173. // guildBanRemoveEventHandler is an event handler for GuildBanRemove events.
  174. type guildBanRemoveEventHandler func(*Session, *GuildBanRemove)
  175. // Type returns the event type for GuildBanRemove events.
  176. func (eh guildBanRemoveEventHandler) Type() string {
  177. return guildBanRemoveEventType
  178. }
  179. // New returns a new instance of GuildBanRemove.
  180. func (eh guildBanRemoveEventHandler) New() interface{} {
  181. return &GuildBanRemove{}
  182. }
  183. // Handle is the handler for GuildBanRemove events.
  184. func (eh guildBanRemoveEventHandler) Handle(s *Session, i interface{}) {
  185. if t, ok := i.(*GuildBanRemove); ok {
  186. eh(s, t)
  187. }
  188. }
  189. var _ EventHandler = guildBanRemoveEventHandler(nil)
  190. // guildCreateEventHandler is an event handler for GuildCreate events.
  191. type guildCreateEventHandler func(*Session, *GuildCreate)
  192. // Type returns the event type for GuildCreate events.
  193. func (eh guildCreateEventHandler) Type() string {
  194. return guildCreateEventType
  195. }
  196. // New returns a new instance of GuildCreate.
  197. func (eh guildCreateEventHandler) New() interface{} {
  198. return &GuildCreate{}
  199. }
  200. // Handle is the handler for GuildCreate events.
  201. func (eh guildCreateEventHandler) Handle(s *Session, i interface{}) {
  202. if t, ok := i.(*GuildCreate); ok {
  203. eh(s, t)
  204. }
  205. }
  206. var _ EventHandler = guildCreateEventHandler(nil)
  207. // guildDeleteEventHandler is an event handler for GuildDelete events.
  208. type guildDeleteEventHandler func(*Session, *GuildDelete)
  209. // Type returns the event type for GuildDelete events.
  210. func (eh guildDeleteEventHandler) Type() string {
  211. return guildDeleteEventType
  212. }
  213. // New returns a new instance of GuildDelete.
  214. func (eh guildDeleteEventHandler) New() interface{} {
  215. return &GuildDelete{}
  216. }
  217. // Handle is the handler for GuildDelete events.
  218. func (eh guildDeleteEventHandler) Handle(s *Session, i interface{}) {
  219. if t, ok := i.(*GuildDelete); ok {
  220. eh(s, t)
  221. }
  222. }
  223. var _ EventHandler = guildDeleteEventHandler(nil)
  224. // guildEmojisUpdateEventHandler is an event handler for GuildEmojisUpdate events.
  225. type guildEmojisUpdateEventHandler func(*Session, *GuildEmojisUpdate)
  226. // Type returns the event type for GuildEmojisUpdate events.
  227. func (eh guildEmojisUpdateEventHandler) Type() string {
  228. return guildEmojisUpdateEventType
  229. }
  230. // New returns a new instance of GuildEmojisUpdate.
  231. func (eh guildEmojisUpdateEventHandler) New() interface{} {
  232. return &GuildEmojisUpdate{}
  233. }
  234. // Handle is the handler for GuildEmojisUpdate events.
  235. func (eh guildEmojisUpdateEventHandler) Handle(s *Session, i interface{}) {
  236. if t, ok := i.(*GuildEmojisUpdate); ok {
  237. eh(s, t)
  238. }
  239. }
  240. var _ EventHandler = guildEmojisUpdateEventHandler(nil)
  241. // guildIntegrationsUpdateEventHandler is an event handler for GuildIntegrationsUpdate events.
  242. type guildIntegrationsUpdateEventHandler func(*Session, *GuildIntegrationsUpdate)
  243. // Type returns the event type for GuildIntegrationsUpdate events.
  244. func (eh guildIntegrationsUpdateEventHandler) Type() string {
  245. return guildIntegrationsUpdateEventType
  246. }
  247. // New returns a new instance of GuildIntegrationsUpdate.
  248. func (eh guildIntegrationsUpdateEventHandler) New() interface{} {
  249. return &GuildIntegrationsUpdate{}
  250. }
  251. // Handle is the handler for GuildIntegrationsUpdate events.
  252. func (eh guildIntegrationsUpdateEventHandler) Handle(s *Session, i interface{}) {
  253. if t, ok := i.(*GuildIntegrationsUpdate); ok {
  254. eh(s, t)
  255. }
  256. }
  257. var _ EventHandler = guildIntegrationsUpdateEventHandler(nil)
  258. // guildMemberAddEventHandler is an event handler for GuildMemberAdd events.
  259. type guildMemberAddEventHandler func(*Session, *GuildMemberAdd)
  260. // Type returns the event type for GuildMemberAdd events.
  261. func (eh guildMemberAddEventHandler) Type() string {
  262. return guildMemberAddEventType
  263. }
  264. // New returns a new instance of GuildMemberAdd.
  265. func (eh guildMemberAddEventHandler) New() interface{} {
  266. return &GuildMemberAdd{}
  267. }
  268. // Handle is the handler for GuildMemberAdd events.
  269. func (eh guildMemberAddEventHandler) Handle(s *Session, i interface{}) {
  270. if t, ok := i.(*GuildMemberAdd); ok {
  271. eh(s, t)
  272. }
  273. }
  274. var _ EventHandler = guildMemberAddEventHandler(nil)
  275. // guildMemberRemoveEventHandler is an event handler for GuildMemberRemove events.
  276. type guildMemberRemoveEventHandler func(*Session, *GuildMemberRemove)
  277. // Type returns the event type for GuildMemberRemove events.
  278. func (eh guildMemberRemoveEventHandler) Type() string {
  279. return guildMemberRemoveEventType
  280. }
  281. // New returns a new instance of GuildMemberRemove.
  282. func (eh guildMemberRemoveEventHandler) New() interface{} {
  283. return &GuildMemberRemove{}
  284. }
  285. // Handle is the handler for GuildMemberRemove events.
  286. func (eh guildMemberRemoveEventHandler) Handle(s *Session, i interface{}) {
  287. if t, ok := i.(*GuildMemberRemove); ok {
  288. eh(s, t)
  289. }
  290. }
  291. var _ EventHandler = guildMemberRemoveEventHandler(nil)
  292. // guildMemberUpdateEventHandler is an event handler for GuildMemberUpdate events.
  293. type guildMemberUpdateEventHandler func(*Session, *GuildMemberUpdate)
  294. // Type returns the event type for GuildMemberUpdate events.
  295. func (eh guildMemberUpdateEventHandler) Type() string {
  296. return guildMemberUpdateEventType
  297. }
  298. // New returns a new instance of GuildMemberUpdate.
  299. func (eh guildMemberUpdateEventHandler) New() interface{} {
  300. return &GuildMemberUpdate{}
  301. }
  302. // Handle is the handler for GuildMemberUpdate events.
  303. func (eh guildMemberUpdateEventHandler) Handle(s *Session, i interface{}) {
  304. if t, ok := i.(*GuildMemberUpdate); ok {
  305. eh(s, t)
  306. }
  307. }
  308. var _ EventHandler = guildMemberUpdateEventHandler(nil)
  309. // guildMembersChunkEventHandler is an event handler for GuildMembersChunk events.
  310. type guildMembersChunkEventHandler func(*Session, *GuildMembersChunk)
  311. // Type returns the event type for GuildMembersChunk events.
  312. func (eh guildMembersChunkEventHandler) Type() string {
  313. return guildMembersChunkEventType
  314. }
  315. // New returns a new instance of GuildMembersChunk.
  316. func (eh guildMembersChunkEventHandler) New() interface{} {
  317. return &GuildMembersChunk{}
  318. }
  319. // Handle is the handler for GuildMembersChunk events.
  320. func (eh guildMembersChunkEventHandler) Handle(s *Session, i interface{}) {
  321. if t, ok := i.(*GuildMembersChunk); ok {
  322. eh(s, t)
  323. }
  324. }
  325. var _ EventHandler = guildMembersChunkEventHandler(nil)
  326. // guildRoleCreateEventHandler is an event handler for GuildRoleCreate events.
  327. type guildRoleCreateEventHandler func(*Session, *GuildRoleCreate)
  328. // Type returns the event type for GuildRoleCreate events.
  329. func (eh guildRoleCreateEventHandler) Type() string {
  330. return guildRoleCreateEventType
  331. }
  332. // New returns a new instance of GuildRoleCreate.
  333. func (eh guildRoleCreateEventHandler) New() interface{} {
  334. return &GuildRoleCreate{}
  335. }
  336. // Handle is the handler for GuildRoleCreate events.
  337. func (eh guildRoleCreateEventHandler) Handle(s *Session, i interface{}) {
  338. if t, ok := i.(*GuildRoleCreate); ok {
  339. eh(s, t)
  340. }
  341. }
  342. var _ EventHandler = guildRoleCreateEventHandler(nil)
  343. // guildRoleDeleteEventHandler is an event handler for GuildRoleDelete events.
  344. type guildRoleDeleteEventHandler func(*Session, *GuildRoleDelete)
  345. // Type returns the event type for GuildRoleDelete events.
  346. func (eh guildRoleDeleteEventHandler) Type() string {
  347. return guildRoleDeleteEventType
  348. }
  349. // New returns a new instance of GuildRoleDelete.
  350. func (eh guildRoleDeleteEventHandler) New() interface{} {
  351. return &GuildRoleDelete{}
  352. }
  353. // Handle is the handler for GuildRoleDelete events.
  354. func (eh guildRoleDeleteEventHandler) Handle(s *Session, i interface{}) {
  355. if t, ok := i.(*GuildRoleDelete); ok {
  356. eh(s, t)
  357. }
  358. }
  359. var _ EventHandler = guildRoleDeleteEventHandler(nil)
  360. // guildRoleUpdateEventHandler is an event handler for GuildRoleUpdate events.
  361. type guildRoleUpdateEventHandler func(*Session, *GuildRoleUpdate)
  362. // Type returns the event type for GuildRoleUpdate events.
  363. func (eh guildRoleUpdateEventHandler) Type() string {
  364. return guildRoleUpdateEventType
  365. }
  366. // New returns a new instance of GuildRoleUpdate.
  367. func (eh guildRoleUpdateEventHandler) New() interface{} {
  368. return &GuildRoleUpdate{}
  369. }
  370. // Handle is the handler for GuildRoleUpdate events.
  371. func (eh guildRoleUpdateEventHandler) Handle(s *Session, i interface{}) {
  372. if t, ok := i.(*GuildRoleUpdate); ok {
  373. eh(s, t)
  374. }
  375. }
  376. var _ EventHandler = guildRoleUpdateEventHandler(nil)
  377. // guildUpdateEventHandler is an event handler for GuildUpdate events.
  378. type guildUpdateEventHandler func(*Session, *GuildUpdate)
  379. // Type returns the event type for GuildUpdate events.
  380. func (eh guildUpdateEventHandler) Type() string {
  381. return guildUpdateEventType
  382. }
  383. // New returns a new instance of GuildUpdate.
  384. func (eh guildUpdateEventHandler) New() interface{} {
  385. return &GuildUpdate{}
  386. }
  387. // Handle is the handler for GuildUpdate events.
  388. func (eh guildUpdateEventHandler) Handle(s *Session, i interface{}) {
  389. if t, ok := i.(*GuildUpdate); ok {
  390. eh(s, t)
  391. }
  392. }
  393. var _ EventHandler = guildUpdateEventHandler(nil)
  394. // messageAckEventHandler is an event handler for MessageAck events.
  395. type messageAckEventHandler func(*Session, *MessageAck)
  396. // Type returns the event type for MessageAck events.
  397. func (eh messageAckEventHandler) Type() string {
  398. return messageAckEventType
  399. }
  400. // New returns a new instance of MessageAck.
  401. func (eh messageAckEventHandler) New() interface{} {
  402. return &MessageAck{}
  403. }
  404. // Handle is the handler for MessageAck events.
  405. func (eh messageAckEventHandler) Handle(s *Session, i interface{}) {
  406. if t, ok := i.(*MessageAck); ok {
  407. eh(s, t)
  408. }
  409. }
  410. var _ EventHandler = messageAckEventHandler(nil)
  411. // messageCreateEventHandler is an event handler for MessageCreate events.
  412. type messageCreateEventHandler func(*Session, *MessageCreate)
  413. // Type returns the event type for MessageCreate events.
  414. func (eh messageCreateEventHandler) Type() string {
  415. return messageCreateEventType
  416. }
  417. // New returns a new instance of MessageCreate.
  418. func (eh messageCreateEventHandler) New() interface{} {
  419. return &MessageCreate{}
  420. }
  421. // Handle is the handler for MessageCreate events.
  422. func (eh messageCreateEventHandler) Handle(s *Session, i interface{}) {
  423. if t, ok := i.(*MessageCreate); ok {
  424. eh(s, t)
  425. }
  426. }
  427. var _ EventHandler = messageCreateEventHandler(nil)
  428. // messageDeleteEventHandler is an event handler for MessageDelete events.
  429. type messageDeleteEventHandler func(*Session, *MessageDelete)
  430. // Type returns the event type for MessageDelete events.
  431. func (eh messageDeleteEventHandler) Type() string {
  432. return messageDeleteEventType
  433. }
  434. // New returns a new instance of MessageDelete.
  435. func (eh messageDeleteEventHandler) New() interface{} {
  436. return &MessageDelete{}
  437. }
  438. // Handle is the handler for MessageDelete events.
  439. func (eh messageDeleteEventHandler) Handle(s *Session, i interface{}) {
  440. if t, ok := i.(*MessageDelete); ok {
  441. eh(s, t)
  442. }
  443. }
  444. var _ EventHandler = messageDeleteEventHandler(nil)
  445. // messageReactionAddEventHandler is an event handler for MessageReactionAdd events.
  446. type messageReactionAddEventHandler func(*Session, *MessageReactionAdd)
  447. // Type returns the event type for MessageReactionAdd events.
  448. func (eh messageReactionAddEventHandler) Type() string {
  449. return messageReactionAddEventType
  450. }
  451. // New returns a new instance of MessageReactionAdd.
  452. func (eh messageReactionAddEventHandler) New() interface{} {
  453. return &MessageReactionAdd{}
  454. }
  455. // Handle is the handler for MessageReactionAdd events.
  456. func (eh messageReactionAddEventHandler) Handle(s *Session, i interface{}) {
  457. if t, ok := i.(*MessageReactionAdd); ok {
  458. eh(s, t)
  459. }
  460. }
  461. var _ EventHandler = messageReactionAddEventHandler(nil)
  462. // messageReactionRemoveEventHandler is an event handler for MessageReactionRemove events.
  463. type messageReactionRemoveEventHandler func(*Session, *MessageReactionRemove)
  464. // Type returns the event type for MessageReactionRemove events.
  465. func (eh messageReactionRemoveEventHandler) Type() string {
  466. return messageReactionRemoveEventType
  467. }
  468. // New returns a new instance of MessageReactionRemove.
  469. func (eh messageReactionRemoveEventHandler) New() interface{} {
  470. return &MessageReactionRemove{}
  471. }
  472. // Handle is the handler for MessageReactionRemove events.
  473. func (eh messageReactionRemoveEventHandler) Handle(s *Session, i interface{}) {
  474. if t, ok := i.(*MessageReactionRemove); ok {
  475. eh(s, t)
  476. }
  477. }
  478. var _ EventHandler = messageReactionRemoveEventHandler(nil)
  479. // messageUpdateEventHandler is an event handler for MessageUpdate events.
  480. type messageUpdateEventHandler func(*Session, *MessageUpdate)
  481. // Type returns the event type for MessageUpdate events.
  482. func (eh messageUpdateEventHandler) Type() string {
  483. return messageUpdateEventType
  484. }
  485. // New returns a new instance of MessageUpdate.
  486. func (eh messageUpdateEventHandler) New() interface{} {
  487. return &MessageUpdate{}
  488. }
  489. // Handle is the handler for MessageUpdate events.
  490. func (eh messageUpdateEventHandler) Handle(s *Session, i interface{}) {
  491. if t, ok := i.(*MessageUpdate); ok {
  492. eh(s, t)
  493. }
  494. }
  495. var _ EventHandler = messageUpdateEventHandler(nil)
  496. // presenceUpdateEventHandler is an event handler for PresenceUpdate events.
  497. type presenceUpdateEventHandler func(*Session, *PresenceUpdate)
  498. // Type returns the event type for PresenceUpdate events.
  499. func (eh presenceUpdateEventHandler) Type() string {
  500. return presenceUpdateEventType
  501. }
  502. // New returns a new instance of PresenceUpdate.
  503. func (eh presenceUpdateEventHandler) New() interface{} {
  504. return &PresenceUpdate{}
  505. }
  506. // Handle is the handler for PresenceUpdate events.
  507. func (eh presenceUpdateEventHandler) Handle(s *Session, i interface{}) {
  508. if t, ok := i.(*PresenceUpdate); ok {
  509. eh(s, t)
  510. }
  511. }
  512. var _ EventHandler = presenceUpdateEventHandler(nil)
  513. // presencesReplaceEventHandler is an event handler for PresencesReplace events.
  514. type presencesReplaceEventHandler func(*Session, *PresencesReplace)
  515. // Type returns the event type for PresencesReplace events.
  516. func (eh presencesReplaceEventHandler) Type() string {
  517. return presencesReplaceEventType
  518. }
  519. // New returns a new instance of PresencesReplace.
  520. func (eh presencesReplaceEventHandler) New() interface{} {
  521. return &PresencesReplace{}
  522. }
  523. // Handle is the handler for PresencesReplace events.
  524. func (eh presencesReplaceEventHandler) Handle(s *Session, i interface{}) {
  525. if t, ok := i.(*PresencesReplace); ok {
  526. eh(s, t)
  527. }
  528. }
  529. var _ EventHandler = presencesReplaceEventHandler(nil)
  530. // rateLimitEventHandler is an event handler for RateLimit events.
  531. type rateLimitEventHandler func(*Session, *RateLimit)
  532. // Type returns the event type for RateLimit events.
  533. func (eh rateLimitEventHandler) Type() string {
  534. return rateLimitEventType
  535. }
  536. // Handle is the handler for RateLimit events.
  537. func (eh rateLimitEventHandler) Handle(s *Session, i interface{}) {
  538. if t, ok := i.(*RateLimit); ok {
  539. eh(s, t)
  540. }
  541. }
  542. var _ EventHandler = rateLimitEventHandler(nil)
  543. // readyEventHandler is an event handler for Ready events.
  544. type readyEventHandler func(*Session, *Ready)
  545. // Type returns the event type for Ready events.
  546. func (eh readyEventHandler) Type() string {
  547. return readyEventType
  548. }
  549. // New returns a new instance of Ready.
  550. func (eh readyEventHandler) New() interface{} {
  551. return &Ready{}
  552. }
  553. // Handle is the handler for Ready events.
  554. func (eh readyEventHandler) Handle(s *Session, i interface{}) {
  555. if t, ok := i.(*Ready); ok {
  556. eh(s, t)
  557. }
  558. }
  559. var _ EventHandler = readyEventHandler(nil)
  560. // relationshipAddEventHandler is an event handler for RelationshipAdd events.
  561. type relationshipAddEventHandler func(*Session, *RelationshipAdd)
  562. // Type returns the event type for RelationshipAdd events.
  563. func (eh relationshipAddEventHandler) Type() string {
  564. return relationshipAddEventType
  565. }
  566. // New returns a new instance of RelationshipAdd.
  567. func (eh relationshipAddEventHandler) New() interface{} {
  568. return &RelationshipAdd{}
  569. }
  570. // Handle is the handler for RelationshipAdd events.
  571. func (eh relationshipAddEventHandler) Handle(s *Session, i interface{}) {
  572. if t, ok := i.(*RelationshipAdd); ok {
  573. eh(s, t)
  574. }
  575. }
  576. var _ EventHandler = relationshipAddEventHandler(nil)
  577. // relationshipRemoveEventHandler is an event handler for RelationshipRemove events.
  578. type relationshipRemoveEventHandler func(*Session, *RelationshipRemove)
  579. // Type returns the event type for RelationshipRemove events.
  580. func (eh relationshipRemoveEventHandler) Type() string {
  581. return relationshipRemoveEventType
  582. }
  583. // New returns a new instance of RelationshipRemove.
  584. func (eh relationshipRemoveEventHandler) New() interface{} {
  585. return &RelationshipRemove{}
  586. }
  587. // Handle is the handler for RelationshipRemove events.
  588. func (eh relationshipRemoveEventHandler) Handle(s *Session, i interface{}) {
  589. if t, ok := i.(*RelationshipRemove); ok {
  590. eh(s, t)
  591. }
  592. }
  593. var _ EventHandler = relationshipRemoveEventHandler(nil)
  594. // resumedEventHandler is an event handler for Resumed events.
  595. type resumedEventHandler func(*Session, *Resumed)
  596. // Type returns the event type for Resumed events.
  597. func (eh resumedEventHandler) Type() string {
  598. return resumedEventType
  599. }
  600. // New returns a new instance of Resumed.
  601. func (eh resumedEventHandler) New() interface{} {
  602. return &Resumed{}
  603. }
  604. // Handle is the handler for Resumed events.
  605. func (eh resumedEventHandler) Handle(s *Session, i interface{}) {
  606. if t, ok := i.(*Resumed); ok {
  607. eh(s, t)
  608. }
  609. }
  610. var _ EventHandler = resumedEventHandler(nil)
  611. // typingStartEventHandler is an event handler for TypingStart events.
  612. type typingStartEventHandler func(*Session, *TypingStart)
  613. // Type returns the event type for TypingStart events.
  614. func (eh typingStartEventHandler) Type() string {
  615. return typingStartEventType
  616. }
  617. // New returns a new instance of TypingStart.
  618. func (eh typingStartEventHandler) New() interface{} {
  619. return &TypingStart{}
  620. }
  621. // Handle is the handler for TypingStart events.
  622. func (eh typingStartEventHandler) Handle(s *Session, i interface{}) {
  623. if t, ok := i.(*TypingStart); ok {
  624. eh(s, t)
  625. }
  626. }
  627. var _ EventHandler = typingStartEventHandler(nil)
  628. // userGuildSettingsUpdateEventHandler is an event handler for UserGuildSettingsUpdate events.
  629. type userGuildSettingsUpdateEventHandler func(*Session, *UserGuildSettingsUpdate)
  630. // Type returns the event type for UserGuildSettingsUpdate events.
  631. func (eh userGuildSettingsUpdateEventHandler) Type() string {
  632. return userGuildSettingsUpdateEventType
  633. }
  634. // New returns a new instance of UserGuildSettingsUpdate.
  635. func (eh userGuildSettingsUpdateEventHandler) New() interface{} {
  636. return &UserGuildSettingsUpdate{}
  637. }
  638. // Handle is the handler for UserGuildSettingsUpdate events.
  639. func (eh userGuildSettingsUpdateEventHandler) Handle(s *Session, i interface{}) {
  640. if t, ok := i.(*UserGuildSettingsUpdate); ok {
  641. eh(s, t)
  642. }
  643. }
  644. var _ EventHandler = userGuildSettingsUpdateEventHandler(nil)
  645. // userSettingsUpdateEventHandler is an event handler for UserSettingsUpdate events.
  646. type userSettingsUpdateEventHandler func(*Session, *UserSettingsUpdate)
  647. // Type returns the event type for UserSettingsUpdate events.
  648. func (eh userSettingsUpdateEventHandler) Type() string {
  649. return userSettingsUpdateEventType
  650. }
  651. // New returns a new instance of UserSettingsUpdate.
  652. func (eh userSettingsUpdateEventHandler) New() interface{} {
  653. return &UserSettingsUpdate{}
  654. }
  655. // Handle is the handler for UserSettingsUpdate events.
  656. func (eh userSettingsUpdateEventHandler) Handle(s *Session, i interface{}) {
  657. if t, ok := i.(*UserSettingsUpdate); ok {
  658. eh(s, t)
  659. }
  660. }
  661. var _ EventHandler = userSettingsUpdateEventHandler(nil)
  662. // userUpdateEventHandler is an event handler for UserUpdate events.
  663. type userUpdateEventHandler func(*Session, *UserUpdate)
  664. // Type returns the event type for UserUpdate events.
  665. func (eh userUpdateEventHandler) Type() string {
  666. return userUpdateEventType
  667. }
  668. // New returns a new instance of UserUpdate.
  669. func (eh userUpdateEventHandler) New() interface{} {
  670. return &UserUpdate{}
  671. }
  672. // Handle is the handler for UserUpdate events.
  673. func (eh userUpdateEventHandler) Handle(s *Session, i interface{}) {
  674. if t, ok := i.(*UserUpdate); ok {
  675. eh(s, t)
  676. }
  677. }
  678. var _ EventHandler = userUpdateEventHandler(nil)
  679. // voiceServerUpdateEventHandler is an event handler for VoiceServerUpdate events.
  680. type voiceServerUpdateEventHandler func(*Session, *VoiceServerUpdate)
  681. // Type returns the event type for VoiceServerUpdate events.
  682. func (eh voiceServerUpdateEventHandler) Type() string {
  683. return voiceServerUpdateEventType
  684. }
  685. // New returns a new instance of VoiceServerUpdate.
  686. func (eh voiceServerUpdateEventHandler) New() interface{} {
  687. return &VoiceServerUpdate{}
  688. }
  689. // Handle is the handler for VoiceServerUpdate events.
  690. func (eh voiceServerUpdateEventHandler) Handle(s *Session, i interface{}) {
  691. if t, ok := i.(*VoiceServerUpdate); ok {
  692. eh(s, t)
  693. }
  694. }
  695. var _ EventHandler = voiceServerUpdateEventHandler(nil)
  696. // voiceStateUpdateEventHandler is an event handler for VoiceStateUpdate events.
  697. type voiceStateUpdateEventHandler func(*Session, *VoiceStateUpdate)
  698. // Type returns the event type for VoiceStateUpdate events.
  699. func (eh voiceStateUpdateEventHandler) Type() string {
  700. return voiceStateUpdateEventType
  701. }
  702. // New returns a new instance of VoiceStateUpdate.
  703. func (eh voiceStateUpdateEventHandler) New() interface{} {
  704. return &VoiceStateUpdate{}
  705. }
  706. // Handle is the handler for VoiceStateUpdate events.
  707. func (eh voiceStateUpdateEventHandler) Handle(s *Session, i interface{}) {
  708. if t, ok := i.(*VoiceStateUpdate); ok {
  709. eh(s, t)
  710. }
  711. }
  712. var _ EventHandler = voiceStateUpdateEventHandler(nil)
  713. func handlerForInterface(handler interface{}) EventHandler {
  714. switch v := handler.(type) {
  715. case func(*Session, interface{}):
  716. return interfaceEventHandler(v)
  717. case func(*Session, *ChannelCreate):
  718. return channelCreateEventHandler(v)
  719. case func(*Session, *ChannelDelete):
  720. return channelDeleteEventHandler(v)
  721. case func(*Session, *ChannelPinsUpdate):
  722. return channelPinsUpdateEventHandler(v)
  723. case func(*Session, *ChannelUpdate):
  724. return channelUpdateEventHandler(v)
  725. case func(*Session, *Connect):
  726. return connectEventHandler(v)
  727. case func(*Session, *Disconnect):
  728. return disconnectEventHandler(v)
  729. case func(*Session, *Event):
  730. return eventEventHandler(v)
  731. case func(*Session, *GuildBanAdd):
  732. return guildBanAddEventHandler(v)
  733. case func(*Session, *GuildBanRemove):
  734. return guildBanRemoveEventHandler(v)
  735. case func(*Session, *GuildCreate):
  736. return guildCreateEventHandler(v)
  737. case func(*Session, *GuildDelete):
  738. return guildDeleteEventHandler(v)
  739. case func(*Session, *GuildEmojisUpdate):
  740. return guildEmojisUpdateEventHandler(v)
  741. case func(*Session, *GuildIntegrationsUpdate):
  742. return guildIntegrationsUpdateEventHandler(v)
  743. case func(*Session, *GuildMemberAdd):
  744. return guildMemberAddEventHandler(v)
  745. case func(*Session, *GuildMemberRemove):
  746. return guildMemberRemoveEventHandler(v)
  747. case func(*Session, *GuildMemberUpdate):
  748. return guildMemberUpdateEventHandler(v)
  749. case func(*Session, *GuildMembersChunk):
  750. return guildMembersChunkEventHandler(v)
  751. case func(*Session, *GuildRoleCreate):
  752. return guildRoleCreateEventHandler(v)
  753. case func(*Session, *GuildRoleDelete):
  754. return guildRoleDeleteEventHandler(v)
  755. case func(*Session, *GuildRoleUpdate):
  756. return guildRoleUpdateEventHandler(v)
  757. case func(*Session, *GuildUpdate):
  758. return guildUpdateEventHandler(v)
  759. case func(*Session, *MessageAck):
  760. return messageAckEventHandler(v)
  761. case func(*Session, *MessageCreate):
  762. return messageCreateEventHandler(v)
  763. case func(*Session, *MessageDelete):
  764. return messageDeleteEventHandler(v)
  765. case func(*Session, *MessageReactionAdd):
  766. return messageReactionAddEventHandler(v)
  767. case func(*Session, *MessageReactionRemove):
  768. return messageReactionRemoveEventHandler(v)
  769. case func(*Session, *MessageUpdate):
  770. return messageUpdateEventHandler(v)
  771. case func(*Session, *PresenceUpdate):
  772. return presenceUpdateEventHandler(v)
  773. case func(*Session, *PresencesReplace):
  774. return presencesReplaceEventHandler(v)
  775. case func(*Session, *RateLimit):
  776. return rateLimitEventHandler(v)
  777. case func(*Session, *Ready):
  778. return readyEventHandler(v)
  779. case func(*Session, *RelationshipAdd):
  780. return relationshipAddEventHandler(v)
  781. case func(*Session, *RelationshipRemove):
  782. return relationshipRemoveEventHandler(v)
  783. case func(*Session, *Resumed):
  784. return resumedEventHandler(v)
  785. case func(*Session, *TypingStart):
  786. return typingStartEventHandler(v)
  787. case func(*Session, *UserGuildSettingsUpdate):
  788. return userGuildSettingsUpdateEventHandler(v)
  789. case func(*Session, *UserSettingsUpdate):
  790. return userSettingsUpdateEventHandler(v)
  791. case func(*Session, *UserUpdate):
  792. return userUpdateEventHandler(v)
  793. case func(*Session, *VoiceServerUpdate):
  794. return voiceServerUpdateEventHandler(v)
  795. case func(*Session, *VoiceStateUpdate):
  796. return voiceStateUpdateEventHandler(v)
  797. }
  798. return nil
  799. }
  800. func init() {
  801. registerInterfaceProvider(channelCreateEventHandler(nil))
  802. registerInterfaceProvider(channelDeleteEventHandler(nil))
  803. registerInterfaceProvider(channelPinsUpdateEventHandler(nil))
  804. registerInterfaceProvider(channelUpdateEventHandler(nil))
  805. registerInterfaceProvider(guildBanAddEventHandler(nil))
  806. registerInterfaceProvider(guildBanRemoveEventHandler(nil))
  807. registerInterfaceProvider(guildCreateEventHandler(nil))
  808. registerInterfaceProvider(guildDeleteEventHandler(nil))
  809. registerInterfaceProvider(guildEmojisUpdateEventHandler(nil))
  810. registerInterfaceProvider(guildIntegrationsUpdateEventHandler(nil))
  811. registerInterfaceProvider(guildMemberAddEventHandler(nil))
  812. registerInterfaceProvider(guildMemberRemoveEventHandler(nil))
  813. registerInterfaceProvider(guildMemberUpdateEventHandler(nil))
  814. registerInterfaceProvider(guildMembersChunkEventHandler(nil))
  815. registerInterfaceProvider(guildRoleCreateEventHandler(nil))
  816. registerInterfaceProvider(guildRoleDeleteEventHandler(nil))
  817. registerInterfaceProvider(guildRoleUpdateEventHandler(nil))
  818. registerInterfaceProvider(guildUpdateEventHandler(nil))
  819. registerInterfaceProvider(messageAckEventHandler(nil))
  820. registerInterfaceProvider(messageCreateEventHandler(nil))
  821. registerInterfaceProvider(messageDeleteEventHandler(nil))
  822. registerInterfaceProvider(messageReactionAddEventHandler(nil))
  823. registerInterfaceProvider(messageReactionRemoveEventHandler(nil))
  824. registerInterfaceProvider(messageUpdateEventHandler(nil))
  825. registerInterfaceProvider(presenceUpdateEventHandler(nil))
  826. registerInterfaceProvider(presencesReplaceEventHandler(nil))
  827. registerInterfaceProvider(readyEventHandler(nil))
  828. registerInterfaceProvider(relationshipAddEventHandler(nil))
  829. registerInterfaceProvider(relationshipRemoveEventHandler(nil))
  830. registerInterfaceProvider(resumedEventHandler(nil))
  831. registerInterfaceProvider(typingStartEventHandler(nil))
  832. registerInterfaceProvider(userGuildSettingsUpdateEventHandler(nil))
  833. registerInterfaceProvider(userSettingsUpdateEventHandler(nil))
  834. registerInterfaceProvider(userUpdateEventHandler(nil))
  835. registerInterfaceProvider(voiceServerUpdateEventHandler(nil))
  836. registerInterfaceProvider(voiceStateUpdateEventHandler(nil))
  837. }