eventhandlers.go 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222
  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. interactionCreateEventType = "INTERACTION_CREATE"
  30. messageAckEventType = "MESSAGE_ACK"
  31. messageCreateEventType = "MESSAGE_CREATE"
  32. messageDeleteEventType = "MESSAGE_DELETE"
  33. messageDeleteBulkEventType = "MESSAGE_DELETE_BULK"
  34. messageReactionAddEventType = "MESSAGE_REACTION_ADD"
  35. messageReactionRemoveEventType = "MESSAGE_REACTION_REMOVE"
  36. messageReactionRemoveAllEventType = "MESSAGE_REACTION_REMOVE_ALL"
  37. messageUpdateEventType = "MESSAGE_UPDATE"
  38. presenceUpdateEventType = "PRESENCE_UPDATE"
  39. presencesReplaceEventType = "PRESENCES_REPLACE"
  40. rateLimitEventType = "__RATE_LIMIT__"
  41. readyEventType = "READY"
  42. relationshipAddEventType = "RELATIONSHIP_ADD"
  43. relationshipRemoveEventType = "RELATIONSHIP_REMOVE"
  44. resumedEventType = "RESUMED"
  45. threadCreateEventType = "THREAD_CREATE"
  46. threadDeleteEventType = "THREAD_DELETE"
  47. threadListSyncEventType = "THREAD_LIST_SYNC"
  48. threadMemberUpdateEventType = "THREAD_MEMBER_UPDATE"
  49. threadMembersUpdateEventType = "THREAD_MEMBERS_UPDATE"
  50. threadUpdateEventType = "THREAD_UPDATE"
  51. typingStartEventType = "TYPING_START"
  52. userGuildSettingsUpdateEventType = "USER_GUILD_SETTINGS_UPDATE"
  53. userNoteUpdateEventType = "USER_NOTE_UPDATE"
  54. userSettingsUpdateEventType = "USER_SETTINGS_UPDATE"
  55. userUpdateEventType = "USER_UPDATE"
  56. voiceServerUpdateEventType = "VOICE_SERVER_UPDATE"
  57. voiceStateUpdateEventType = "VOICE_STATE_UPDATE"
  58. webhooksUpdateEventType = "WEBHOOKS_UPDATE"
  59. )
  60. // channelCreateEventHandler is an event handler for ChannelCreate events.
  61. type channelCreateEventHandler func(*Session, *ChannelCreate)
  62. // Type returns the event type for ChannelCreate events.
  63. func (eh channelCreateEventHandler) Type() string {
  64. return channelCreateEventType
  65. }
  66. // New returns a new instance of ChannelCreate.
  67. func (eh channelCreateEventHandler) New() interface{} {
  68. return &ChannelCreate{}
  69. }
  70. // Handle is the handler for ChannelCreate events.
  71. func (eh channelCreateEventHandler) Handle(s *Session, i interface{}) {
  72. if t, ok := i.(*ChannelCreate); ok {
  73. eh(s, t)
  74. }
  75. }
  76. // channelDeleteEventHandler is an event handler for ChannelDelete events.
  77. type channelDeleteEventHandler func(*Session, *ChannelDelete)
  78. // Type returns the event type for ChannelDelete events.
  79. func (eh channelDeleteEventHandler) Type() string {
  80. return channelDeleteEventType
  81. }
  82. // New returns a new instance of ChannelDelete.
  83. func (eh channelDeleteEventHandler) New() interface{} {
  84. return &ChannelDelete{}
  85. }
  86. // Handle is the handler for ChannelDelete events.
  87. func (eh channelDeleteEventHandler) Handle(s *Session, i interface{}) {
  88. if t, ok := i.(*ChannelDelete); ok {
  89. eh(s, t)
  90. }
  91. }
  92. // channelPinsUpdateEventHandler is an event handler for ChannelPinsUpdate events.
  93. type channelPinsUpdateEventHandler func(*Session, *ChannelPinsUpdate)
  94. // Type returns the event type for ChannelPinsUpdate events.
  95. func (eh channelPinsUpdateEventHandler) Type() string {
  96. return channelPinsUpdateEventType
  97. }
  98. // New returns a new instance of ChannelPinsUpdate.
  99. func (eh channelPinsUpdateEventHandler) New() interface{} {
  100. return &ChannelPinsUpdate{}
  101. }
  102. // Handle is the handler for ChannelPinsUpdate events.
  103. func (eh channelPinsUpdateEventHandler) Handle(s *Session, i interface{}) {
  104. if t, ok := i.(*ChannelPinsUpdate); ok {
  105. eh(s, t)
  106. }
  107. }
  108. // channelUpdateEventHandler is an event handler for ChannelUpdate events.
  109. type channelUpdateEventHandler func(*Session, *ChannelUpdate)
  110. // Type returns the event type for ChannelUpdate events.
  111. func (eh channelUpdateEventHandler) Type() string {
  112. return channelUpdateEventType
  113. }
  114. // New returns a new instance of ChannelUpdate.
  115. func (eh channelUpdateEventHandler) New() interface{} {
  116. return &ChannelUpdate{}
  117. }
  118. // Handle is the handler for ChannelUpdate events.
  119. func (eh channelUpdateEventHandler) Handle(s *Session, i interface{}) {
  120. if t, ok := i.(*ChannelUpdate); ok {
  121. eh(s, t)
  122. }
  123. }
  124. // connectEventHandler is an event handler for Connect events.
  125. type connectEventHandler func(*Session, *Connect)
  126. // Type returns the event type for Connect events.
  127. func (eh connectEventHandler) Type() string {
  128. return connectEventType
  129. }
  130. // Handle is the handler for Connect events.
  131. func (eh connectEventHandler) Handle(s *Session, i interface{}) {
  132. if t, ok := i.(*Connect); ok {
  133. eh(s, t)
  134. }
  135. }
  136. // disconnectEventHandler is an event handler for Disconnect events.
  137. type disconnectEventHandler func(*Session, *Disconnect)
  138. // Type returns the event type for Disconnect events.
  139. func (eh disconnectEventHandler) Type() string {
  140. return disconnectEventType
  141. }
  142. // Handle is the handler for Disconnect events.
  143. func (eh disconnectEventHandler) Handle(s *Session, i interface{}) {
  144. if t, ok := i.(*Disconnect); ok {
  145. eh(s, t)
  146. }
  147. }
  148. // eventEventHandler is an event handler for Event events.
  149. type eventEventHandler func(*Session, *Event)
  150. // Type returns the event type for Event events.
  151. func (eh eventEventHandler) Type() string {
  152. return eventEventType
  153. }
  154. // Handle is the handler for Event events.
  155. func (eh eventEventHandler) Handle(s *Session, i interface{}) {
  156. if t, ok := i.(*Event); ok {
  157. eh(s, t)
  158. }
  159. }
  160. // guildBanAddEventHandler is an event handler for GuildBanAdd events.
  161. type guildBanAddEventHandler func(*Session, *GuildBanAdd)
  162. // Type returns the event type for GuildBanAdd events.
  163. func (eh guildBanAddEventHandler) Type() string {
  164. return guildBanAddEventType
  165. }
  166. // New returns a new instance of GuildBanAdd.
  167. func (eh guildBanAddEventHandler) New() interface{} {
  168. return &GuildBanAdd{}
  169. }
  170. // Handle is the handler for GuildBanAdd events.
  171. func (eh guildBanAddEventHandler) Handle(s *Session, i interface{}) {
  172. if t, ok := i.(*GuildBanAdd); ok {
  173. eh(s, t)
  174. }
  175. }
  176. // guildBanRemoveEventHandler is an event handler for GuildBanRemove events.
  177. type guildBanRemoveEventHandler func(*Session, *GuildBanRemove)
  178. // Type returns the event type for GuildBanRemove events.
  179. func (eh guildBanRemoveEventHandler) Type() string {
  180. return guildBanRemoveEventType
  181. }
  182. // New returns a new instance of GuildBanRemove.
  183. func (eh guildBanRemoveEventHandler) New() interface{} {
  184. return &GuildBanRemove{}
  185. }
  186. // Handle is the handler for GuildBanRemove events.
  187. func (eh guildBanRemoveEventHandler) Handle(s *Session, i interface{}) {
  188. if t, ok := i.(*GuildBanRemove); ok {
  189. eh(s, t)
  190. }
  191. }
  192. // guildCreateEventHandler is an event handler for GuildCreate events.
  193. type guildCreateEventHandler func(*Session, *GuildCreate)
  194. // Type returns the event type for GuildCreate events.
  195. func (eh guildCreateEventHandler) Type() string {
  196. return guildCreateEventType
  197. }
  198. // New returns a new instance of GuildCreate.
  199. func (eh guildCreateEventHandler) New() interface{} {
  200. return &GuildCreate{}
  201. }
  202. // Handle is the handler for GuildCreate events.
  203. func (eh guildCreateEventHandler) Handle(s *Session, i interface{}) {
  204. if t, ok := i.(*GuildCreate); ok {
  205. eh(s, t)
  206. }
  207. }
  208. // guildDeleteEventHandler is an event handler for GuildDelete events.
  209. type guildDeleteEventHandler func(*Session, *GuildDelete)
  210. // Type returns the event type for GuildDelete events.
  211. func (eh guildDeleteEventHandler) Type() string {
  212. return guildDeleteEventType
  213. }
  214. // New returns a new instance of GuildDelete.
  215. func (eh guildDeleteEventHandler) New() interface{} {
  216. return &GuildDelete{}
  217. }
  218. // Handle is the handler for GuildDelete events.
  219. func (eh guildDeleteEventHandler) Handle(s *Session, i interface{}) {
  220. if t, ok := i.(*GuildDelete); ok {
  221. eh(s, t)
  222. }
  223. }
  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. // guildIntegrationsUpdateEventHandler is an event handler for GuildIntegrationsUpdate events.
  241. type guildIntegrationsUpdateEventHandler func(*Session, *GuildIntegrationsUpdate)
  242. // Type returns the event type for GuildIntegrationsUpdate events.
  243. func (eh guildIntegrationsUpdateEventHandler) Type() string {
  244. return guildIntegrationsUpdateEventType
  245. }
  246. // New returns a new instance of GuildIntegrationsUpdate.
  247. func (eh guildIntegrationsUpdateEventHandler) New() interface{} {
  248. return &GuildIntegrationsUpdate{}
  249. }
  250. // Handle is the handler for GuildIntegrationsUpdate events.
  251. func (eh guildIntegrationsUpdateEventHandler) Handle(s *Session, i interface{}) {
  252. if t, ok := i.(*GuildIntegrationsUpdate); ok {
  253. eh(s, t)
  254. }
  255. }
  256. // guildMemberAddEventHandler is an event handler for GuildMemberAdd events.
  257. type guildMemberAddEventHandler func(*Session, *GuildMemberAdd)
  258. // Type returns the event type for GuildMemberAdd events.
  259. func (eh guildMemberAddEventHandler) Type() string {
  260. return guildMemberAddEventType
  261. }
  262. // New returns a new instance of GuildMemberAdd.
  263. func (eh guildMemberAddEventHandler) New() interface{} {
  264. return &GuildMemberAdd{}
  265. }
  266. // Handle is the handler for GuildMemberAdd events.
  267. func (eh guildMemberAddEventHandler) Handle(s *Session, i interface{}) {
  268. if t, ok := i.(*GuildMemberAdd); ok {
  269. eh(s, t)
  270. }
  271. }
  272. // guildMemberRemoveEventHandler is an event handler for GuildMemberRemove events.
  273. type guildMemberRemoveEventHandler func(*Session, *GuildMemberRemove)
  274. // Type returns the event type for GuildMemberRemove events.
  275. func (eh guildMemberRemoveEventHandler) Type() string {
  276. return guildMemberRemoveEventType
  277. }
  278. // New returns a new instance of GuildMemberRemove.
  279. func (eh guildMemberRemoveEventHandler) New() interface{} {
  280. return &GuildMemberRemove{}
  281. }
  282. // Handle is the handler for GuildMemberRemove events.
  283. func (eh guildMemberRemoveEventHandler) Handle(s *Session, i interface{}) {
  284. if t, ok := i.(*GuildMemberRemove); ok {
  285. eh(s, t)
  286. }
  287. }
  288. // guildMemberUpdateEventHandler is an event handler for GuildMemberUpdate events.
  289. type guildMemberUpdateEventHandler func(*Session, *GuildMemberUpdate)
  290. // Type returns the event type for GuildMemberUpdate events.
  291. func (eh guildMemberUpdateEventHandler) Type() string {
  292. return guildMemberUpdateEventType
  293. }
  294. // New returns a new instance of GuildMemberUpdate.
  295. func (eh guildMemberUpdateEventHandler) New() interface{} {
  296. return &GuildMemberUpdate{}
  297. }
  298. // Handle is the handler for GuildMemberUpdate events.
  299. func (eh guildMemberUpdateEventHandler) Handle(s *Session, i interface{}) {
  300. if t, ok := i.(*GuildMemberUpdate); ok {
  301. eh(s, t)
  302. }
  303. }
  304. // guildMembersChunkEventHandler is an event handler for GuildMembersChunk events.
  305. type guildMembersChunkEventHandler func(*Session, *GuildMembersChunk)
  306. // Type returns the event type for GuildMembersChunk events.
  307. func (eh guildMembersChunkEventHandler) Type() string {
  308. return guildMembersChunkEventType
  309. }
  310. // New returns a new instance of GuildMembersChunk.
  311. func (eh guildMembersChunkEventHandler) New() interface{} {
  312. return &GuildMembersChunk{}
  313. }
  314. // Handle is the handler for GuildMembersChunk events.
  315. func (eh guildMembersChunkEventHandler) Handle(s *Session, i interface{}) {
  316. if t, ok := i.(*GuildMembersChunk); ok {
  317. eh(s, t)
  318. }
  319. }
  320. // guildRoleCreateEventHandler is an event handler for GuildRoleCreate events.
  321. type guildRoleCreateEventHandler func(*Session, *GuildRoleCreate)
  322. // Type returns the event type for GuildRoleCreate events.
  323. func (eh guildRoleCreateEventHandler) Type() string {
  324. return guildRoleCreateEventType
  325. }
  326. // New returns a new instance of GuildRoleCreate.
  327. func (eh guildRoleCreateEventHandler) New() interface{} {
  328. return &GuildRoleCreate{}
  329. }
  330. // Handle is the handler for GuildRoleCreate events.
  331. func (eh guildRoleCreateEventHandler) Handle(s *Session, i interface{}) {
  332. if t, ok := i.(*GuildRoleCreate); ok {
  333. eh(s, t)
  334. }
  335. }
  336. // guildRoleDeleteEventHandler is an event handler for GuildRoleDelete events.
  337. type guildRoleDeleteEventHandler func(*Session, *GuildRoleDelete)
  338. // Type returns the event type for GuildRoleDelete events.
  339. func (eh guildRoleDeleteEventHandler) Type() string {
  340. return guildRoleDeleteEventType
  341. }
  342. // New returns a new instance of GuildRoleDelete.
  343. func (eh guildRoleDeleteEventHandler) New() interface{} {
  344. return &GuildRoleDelete{}
  345. }
  346. // Handle is the handler for GuildRoleDelete events.
  347. func (eh guildRoleDeleteEventHandler) Handle(s *Session, i interface{}) {
  348. if t, ok := i.(*GuildRoleDelete); ok {
  349. eh(s, t)
  350. }
  351. }
  352. // guildRoleUpdateEventHandler is an event handler for GuildRoleUpdate events.
  353. type guildRoleUpdateEventHandler func(*Session, *GuildRoleUpdate)
  354. // Type returns the event type for GuildRoleUpdate events.
  355. func (eh guildRoleUpdateEventHandler) Type() string {
  356. return guildRoleUpdateEventType
  357. }
  358. // New returns a new instance of GuildRoleUpdate.
  359. func (eh guildRoleUpdateEventHandler) New() interface{} {
  360. return &GuildRoleUpdate{}
  361. }
  362. // Handle is the handler for GuildRoleUpdate events.
  363. func (eh guildRoleUpdateEventHandler) Handle(s *Session, i interface{}) {
  364. if t, ok := i.(*GuildRoleUpdate); ok {
  365. eh(s, t)
  366. }
  367. }
  368. // guildUpdateEventHandler is an event handler for GuildUpdate events.
  369. type guildUpdateEventHandler func(*Session, *GuildUpdate)
  370. // Type returns the event type for GuildUpdate events.
  371. func (eh guildUpdateEventHandler) Type() string {
  372. return guildUpdateEventType
  373. }
  374. // New returns a new instance of GuildUpdate.
  375. func (eh guildUpdateEventHandler) New() interface{} {
  376. return &GuildUpdate{}
  377. }
  378. // Handle is the handler for GuildUpdate events.
  379. func (eh guildUpdateEventHandler) Handle(s *Session, i interface{}) {
  380. if t, ok := i.(*GuildUpdate); ok {
  381. eh(s, t)
  382. }
  383. }
  384. // interactionCreateEventHandler is an event handler for InteractionCreate events.
  385. type interactionCreateEventHandler func(*Session, *InteractionCreate)
  386. // Type returns the event type for InteractionCreate events.
  387. func (eh interactionCreateEventHandler) Type() string {
  388. return interactionCreateEventType
  389. }
  390. // New returns a new instance of InteractionCreate.
  391. func (eh interactionCreateEventHandler) New() interface{} {
  392. return &InteractionCreate{}
  393. }
  394. // Handle is the handler for InteractionCreate events.
  395. func (eh interactionCreateEventHandler) Handle(s *Session, i interface{}) {
  396. if t, ok := i.(*InteractionCreate); ok {
  397. eh(s, t)
  398. }
  399. }
  400. // messageAckEventHandler is an event handler for MessageAck events.
  401. type messageAckEventHandler func(*Session, *MessageAck)
  402. // Type returns the event type for MessageAck events.
  403. func (eh messageAckEventHandler) Type() string {
  404. return messageAckEventType
  405. }
  406. // New returns a new instance of MessageAck.
  407. func (eh messageAckEventHandler) New() interface{} {
  408. return &MessageAck{}
  409. }
  410. // Handle is the handler for MessageAck events.
  411. func (eh messageAckEventHandler) Handle(s *Session, i interface{}) {
  412. if t, ok := i.(*MessageAck); ok {
  413. eh(s, t)
  414. }
  415. }
  416. // messageCreateEventHandler is an event handler for MessageCreate events.
  417. type messageCreateEventHandler func(*Session, *MessageCreate)
  418. // Type returns the event type for MessageCreate events.
  419. func (eh messageCreateEventHandler) Type() string {
  420. return messageCreateEventType
  421. }
  422. // New returns a new instance of MessageCreate.
  423. func (eh messageCreateEventHandler) New() interface{} {
  424. return &MessageCreate{}
  425. }
  426. // Handle is the handler for MessageCreate events.
  427. func (eh messageCreateEventHandler) Handle(s *Session, i interface{}) {
  428. if t, ok := i.(*MessageCreate); ok {
  429. eh(s, t)
  430. }
  431. }
  432. // messageDeleteEventHandler is an event handler for MessageDelete events.
  433. type messageDeleteEventHandler func(*Session, *MessageDelete)
  434. // Type returns the event type for MessageDelete events.
  435. func (eh messageDeleteEventHandler) Type() string {
  436. return messageDeleteEventType
  437. }
  438. // New returns a new instance of MessageDelete.
  439. func (eh messageDeleteEventHandler) New() interface{} {
  440. return &MessageDelete{}
  441. }
  442. // Handle is the handler for MessageDelete events.
  443. func (eh messageDeleteEventHandler) Handle(s *Session, i interface{}) {
  444. if t, ok := i.(*MessageDelete); ok {
  445. eh(s, t)
  446. }
  447. }
  448. // messageDeleteBulkEventHandler is an event handler for MessageDeleteBulk events.
  449. type messageDeleteBulkEventHandler func(*Session, *MessageDeleteBulk)
  450. // Type returns the event type for MessageDeleteBulk events.
  451. func (eh messageDeleteBulkEventHandler) Type() string {
  452. return messageDeleteBulkEventType
  453. }
  454. // New returns a new instance of MessageDeleteBulk.
  455. func (eh messageDeleteBulkEventHandler) New() interface{} {
  456. return &MessageDeleteBulk{}
  457. }
  458. // Handle is the handler for MessageDeleteBulk events.
  459. func (eh messageDeleteBulkEventHandler) Handle(s *Session, i interface{}) {
  460. if t, ok := i.(*MessageDeleteBulk); ok {
  461. eh(s, t)
  462. }
  463. }
  464. // messageReactionAddEventHandler is an event handler for MessageReactionAdd events.
  465. type messageReactionAddEventHandler func(*Session, *MessageReactionAdd)
  466. // Type returns the event type for MessageReactionAdd events.
  467. func (eh messageReactionAddEventHandler) Type() string {
  468. return messageReactionAddEventType
  469. }
  470. // New returns a new instance of MessageReactionAdd.
  471. func (eh messageReactionAddEventHandler) New() interface{} {
  472. return &MessageReactionAdd{}
  473. }
  474. // Handle is the handler for MessageReactionAdd events.
  475. func (eh messageReactionAddEventHandler) Handle(s *Session, i interface{}) {
  476. if t, ok := i.(*MessageReactionAdd); ok {
  477. eh(s, t)
  478. }
  479. }
  480. // messageReactionRemoveEventHandler is an event handler for MessageReactionRemove events.
  481. type messageReactionRemoveEventHandler func(*Session, *MessageReactionRemove)
  482. // Type returns the event type for MessageReactionRemove events.
  483. func (eh messageReactionRemoveEventHandler) Type() string {
  484. return messageReactionRemoveEventType
  485. }
  486. // New returns a new instance of MessageReactionRemove.
  487. func (eh messageReactionRemoveEventHandler) New() interface{} {
  488. return &MessageReactionRemove{}
  489. }
  490. // Handle is the handler for MessageReactionRemove events.
  491. func (eh messageReactionRemoveEventHandler) Handle(s *Session, i interface{}) {
  492. if t, ok := i.(*MessageReactionRemove); ok {
  493. eh(s, t)
  494. }
  495. }
  496. // messageReactionRemoveAllEventHandler is an event handler for MessageReactionRemoveAll events.
  497. type messageReactionRemoveAllEventHandler func(*Session, *MessageReactionRemoveAll)
  498. // Type returns the event type for MessageReactionRemoveAll events.
  499. func (eh messageReactionRemoveAllEventHandler) Type() string {
  500. return messageReactionRemoveAllEventType
  501. }
  502. // New returns a new instance of MessageReactionRemoveAll.
  503. func (eh messageReactionRemoveAllEventHandler) New() interface{} {
  504. return &MessageReactionRemoveAll{}
  505. }
  506. // Handle is the handler for MessageReactionRemoveAll events.
  507. func (eh messageReactionRemoveAllEventHandler) Handle(s *Session, i interface{}) {
  508. if t, ok := i.(*MessageReactionRemoveAll); ok {
  509. eh(s, t)
  510. }
  511. }
  512. // messageUpdateEventHandler is an event handler for MessageUpdate events.
  513. type messageUpdateEventHandler func(*Session, *MessageUpdate)
  514. // Type returns the event type for MessageUpdate events.
  515. func (eh messageUpdateEventHandler) Type() string {
  516. return messageUpdateEventType
  517. }
  518. // New returns a new instance of MessageUpdate.
  519. func (eh messageUpdateEventHandler) New() interface{} {
  520. return &MessageUpdate{}
  521. }
  522. // Handle is the handler for MessageUpdate events.
  523. func (eh messageUpdateEventHandler) Handle(s *Session, i interface{}) {
  524. if t, ok := i.(*MessageUpdate); ok {
  525. eh(s, t)
  526. }
  527. }
  528. // presenceUpdateEventHandler is an event handler for PresenceUpdate events.
  529. type presenceUpdateEventHandler func(*Session, *PresenceUpdate)
  530. // Type returns the event type for PresenceUpdate events.
  531. func (eh presenceUpdateEventHandler) Type() string {
  532. return presenceUpdateEventType
  533. }
  534. // New returns a new instance of PresenceUpdate.
  535. func (eh presenceUpdateEventHandler) New() interface{} {
  536. return &PresenceUpdate{}
  537. }
  538. // Handle is the handler for PresenceUpdate events.
  539. func (eh presenceUpdateEventHandler) Handle(s *Session, i interface{}) {
  540. if t, ok := i.(*PresenceUpdate); ok {
  541. eh(s, t)
  542. }
  543. }
  544. // presencesReplaceEventHandler is an event handler for PresencesReplace events.
  545. type presencesReplaceEventHandler func(*Session, *PresencesReplace)
  546. // Type returns the event type for PresencesReplace events.
  547. func (eh presencesReplaceEventHandler) Type() string {
  548. return presencesReplaceEventType
  549. }
  550. // New returns a new instance of PresencesReplace.
  551. func (eh presencesReplaceEventHandler) New() interface{} {
  552. return &PresencesReplace{}
  553. }
  554. // Handle is the handler for PresencesReplace events.
  555. func (eh presencesReplaceEventHandler) Handle(s *Session, i interface{}) {
  556. if t, ok := i.(*PresencesReplace); ok {
  557. eh(s, t)
  558. }
  559. }
  560. // rateLimitEventHandler is an event handler for RateLimit events.
  561. type rateLimitEventHandler func(*Session, *RateLimit)
  562. // Type returns the event type for RateLimit events.
  563. func (eh rateLimitEventHandler) Type() string {
  564. return rateLimitEventType
  565. }
  566. // Handle is the handler for RateLimit events.
  567. func (eh rateLimitEventHandler) Handle(s *Session, i interface{}) {
  568. if t, ok := i.(*RateLimit); ok {
  569. eh(s, t)
  570. }
  571. }
  572. // readyEventHandler is an event handler for Ready events.
  573. type readyEventHandler func(*Session, *Ready)
  574. // Type returns the event type for Ready events.
  575. func (eh readyEventHandler) Type() string {
  576. return readyEventType
  577. }
  578. // New returns a new instance of Ready.
  579. func (eh readyEventHandler) New() interface{} {
  580. return &Ready{}
  581. }
  582. // Handle is the handler for Ready events.
  583. func (eh readyEventHandler) Handle(s *Session, i interface{}) {
  584. if t, ok := i.(*Ready); ok {
  585. eh(s, t)
  586. }
  587. }
  588. // relationshipAddEventHandler is an event handler for RelationshipAdd events.
  589. type relationshipAddEventHandler func(*Session, *RelationshipAdd)
  590. // Type returns the event type for RelationshipAdd events.
  591. func (eh relationshipAddEventHandler) Type() string {
  592. return relationshipAddEventType
  593. }
  594. // New returns a new instance of RelationshipAdd.
  595. func (eh relationshipAddEventHandler) New() interface{} {
  596. return &RelationshipAdd{}
  597. }
  598. // Handle is the handler for RelationshipAdd events.
  599. func (eh relationshipAddEventHandler) Handle(s *Session, i interface{}) {
  600. if t, ok := i.(*RelationshipAdd); ok {
  601. eh(s, t)
  602. }
  603. }
  604. // relationshipRemoveEventHandler is an event handler for RelationshipRemove events.
  605. type relationshipRemoveEventHandler func(*Session, *RelationshipRemove)
  606. // Type returns the event type for RelationshipRemove events.
  607. func (eh relationshipRemoveEventHandler) Type() string {
  608. return relationshipRemoveEventType
  609. }
  610. // New returns a new instance of RelationshipRemove.
  611. func (eh relationshipRemoveEventHandler) New() interface{} {
  612. return &RelationshipRemove{}
  613. }
  614. // Handle is the handler for RelationshipRemove events.
  615. func (eh relationshipRemoveEventHandler) Handle(s *Session, i interface{}) {
  616. if t, ok := i.(*RelationshipRemove); ok {
  617. eh(s, t)
  618. }
  619. }
  620. // resumedEventHandler is an event handler for Resumed events.
  621. type resumedEventHandler func(*Session, *Resumed)
  622. // Type returns the event type for Resumed events.
  623. func (eh resumedEventHandler) Type() string {
  624. return resumedEventType
  625. }
  626. // New returns a new instance of Resumed.
  627. func (eh resumedEventHandler) New() interface{} {
  628. return &Resumed{}
  629. }
  630. // Handle is the handler for Resumed events.
  631. func (eh resumedEventHandler) Handle(s *Session, i interface{}) {
  632. if t, ok := i.(*Resumed); ok {
  633. eh(s, t)
  634. }
  635. }
  636. // threadCreateEventHandler is an event handler for ThreadCreate events.
  637. type threadCreateEventHandler func(*Session, *ThreadCreate)
  638. // Type returns the event type for ThreadCreate events.
  639. func (eh threadCreateEventHandler) Type() string {
  640. return threadCreateEventType
  641. }
  642. // New returns a new instance of ThreadCreate.
  643. func (eh threadCreateEventHandler) New() interface{} {
  644. return &ThreadCreate{}
  645. }
  646. // Handle is the handler for ThreadCreate events.
  647. func (eh threadCreateEventHandler) Handle(s *Session, i interface{}) {
  648. if t, ok := i.(*ThreadCreate); ok {
  649. eh(s, t)
  650. }
  651. }
  652. // threadDeleteEventHandler is an event handler for ThreadDelete events.
  653. type threadDeleteEventHandler func(*Session, *ThreadDelete)
  654. // Type returns the event type for ThreadDelete events.
  655. func (eh threadDeleteEventHandler) Type() string {
  656. return threadDeleteEventType
  657. }
  658. // New returns a new instance of ThreadDelete.
  659. func (eh threadDeleteEventHandler) New() interface{} {
  660. return &ThreadDelete{}
  661. }
  662. // Handle is the handler for ThreadDelete events.
  663. func (eh threadDeleteEventHandler) Handle(s *Session, i interface{}) {
  664. if t, ok := i.(*ThreadDelete); ok {
  665. eh(s, t)
  666. }
  667. }
  668. // threadListSyncEventHandler is an event handler for ThreadListSync events.
  669. type threadListSyncEventHandler func(*Session, *ThreadListSync)
  670. // Type returns the event type for ThreadListSync events.
  671. func (eh threadListSyncEventHandler) Type() string {
  672. return threadListSyncEventType
  673. }
  674. // New returns a new instance of ThreadListSync.
  675. func (eh threadListSyncEventHandler) New() interface{} {
  676. return &ThreadListSync{}
  677. }
  678. // Handle is the handler for ThreadListSync events.
  679. func (eh threadListSyncEventHandler) Handle(s *Session, i interface{}) {
  680. if t, ok := i.(*ThreadListSync); ok {
  681. eh(s, t)
  682. }
  683. }
  684. // threadMemberUpdateEventHandler is an event handler for ThreadMemberUpdate events.
  685. type threadMemberUpdateEventHandler func(*Session, *ThreadMemberUpdate)
  686. // Type returns the event type for ThreadMemberUpdate events.
  687. func (eh threadMemberUpdateEventHandler) Type() string {
  688. return threadMemberUpdateEventType
  689. }
  690. // New returns a new instance of ThreadMemberUpdate.
  691. func (eh threadMemberUpdateEventHandler) New() interface{} {
  692. return &ThreadMemberUpdate{}
  693. }
  694. // Handle is the handler for ThreadMemberUpdate events.
  695. func (eh threadMemberUpdateEventHandler) Handle(s *Session, i interface{}) {
  696. if t, ok := i.(*ThreadMemberUpdate); ok {
  697. eh(s, t)
  698. }
  699. }
  700. // threadMembersUpdateEventHandler is an event handler for ThreadMembersUpdate events.
  701. type threadMembersUpdateEventHandler func(*Session, *ThreadMembersUpdate)
  702. // Type returns the event type for ThreadMembersUpdate events.
  703. func (eh threadMembersUpdateEventHandler) Type() string {
  704. return threadMembersUpdateEventType
  705. }
  706. // New returns a new instance of ThreadMembersUpdate.
  707. func (eh threadMembersUpdateEventHandler) New() interface{} {
  708. return &ThreadMembersUpdate{}
  709. }
  710. // Handle is the handler for ThreadMembersUpdate events.
  711. func (eh threadMembersUpdateEventHandler) Handle(s *Session, i interface{}) {
  712. if t, ok := i.(*ThreadMembersUpdate); ok {
  713. eh(s, t)
  714. }
  715. }
  716. // threadUpdateEventHandler is an event handler for ThreadUpdate events.
  717. type threadUpdateEventHandler func(*Session, *ThreadUpdate)
  718. // Type returns the event type for ThreadUpdate events.
  719. func (eh threadUpdateEventHandler) Type() string {
  720. return threadUpdateEventType
  721. }
  722. // New returns a new instance of ThreadUpdate.
  723. func (eh threadUpdateEventHandler) New() interface{} {
  724. return &ThreadUpdate{}
  725. }
  726. // Handle is the handler for ThreadUpdate events.
  727. func (eh threadUpdateEventHandler) Handle(s *Session, i interface{}) {
  728. if t, ok := i.(*ThreadUpdate); ok {
  729. eh(s, t)
  730. }
  731. }
  732. // typingStartEventHandler is an event handler for TypingStart events.
  733. type typingStartEventHandler func(*Session, *TypingStart)
  734. // Type returns the event type for TypingStart events.
  735. func (eh typingStartEventHandler) Type() string {
  736. return typingStartEventType
  737. }
  738. // New returns a new instance of TypingStart.
  739. func (eh typingStartEventHandler) New() interface{} {
  740. return &TypingStart{}
  741. }
  742. // Handle is the handler for TypingStart events.
  743. func (eh typingStartEventHandler) Handle(s *Session, i interface{}) {
  744. if t, ok := i.(*TypingStart); ok {
  745. eh(s, t)
  746. }
  747. }
  748. // userGuildSettingsUpdateEventHandler is an event handler for UserGuildSettingsUpdate events.
  749. type userGuildSettingsUpdateEventHandler func(*Session, *UserGuildSettingsUpdate)
  750. // Type returns the event type for UserGuildSettingsUpdate events.
  751. func (eh userGuildSettingsUpdateEventHandler) Type() string {
  752. return userGuildSettingsUpdateEventType
  753. }
  754. // New returns a new instance of UserGuildSettingsUpdate.
  755. func (eh userGuildSettingsUpdateEventHandler) New() interface{} {
  756. return &UserGuildSettingsUpdate{}
  757. }
  758. // Handle is the handler for UserGuildSettingsUpdate events.
  759. func (eh userGuildSettingsUpdateEventHandler) Handle(s *Session, i interface{}) {
  760. if t, ok := i.(*UserGuildSettingsUpdate); ok {
  761. eh(s, t)
  762. }
  763. }
  764. // userNoteUpdateEventHandler is an event handler for UserNoteUpdate events.
  765. type userNoteUpdateEventHandler func(*Session, *UserNoteUpdate)
  766. // Type returns the event type for UserNoteUpdate events.
  767. func (eh userNoteUpdateEventHandler) Type() string {
  768. return userNoteUpdateEventType
  769. }
  770. // New returns a new instance of UserNoteUpdate.
  771. func (eh userNoteUpdateEventHandler) New() interface{} {
  772. return &UserNoteUpdate{}
  773. }
  774. // Handle is the handler for UserNoteUpdate events.
  775. func (eh userNoteUpdateEventHandler) Handle(s *Session, i interface{}) {
  776. if t, ok := i.(*UserNoteUpdate); ok {
  777. eh(s, t)
  778. }
  779. }
  780. // userSettingsUpdateEventHandler is an event handler for UserSettingsUpdate events.
  781. type userSettingsUpdateEventHandler func(*Session, *UserSettingsUpdate)
  782. // Type returns the event type for UserSettingsUpdate events.
  783. func (eh userSettingsUpdateEventHandler) Type() string {
  784. return userSettingsUpdateEventType
  785. }
  786. // New returns a new instance of UserSettingsUpdate.
  787. func (eh userSettingsUpdateEventHandler) New() interface{} {
  788. return &UserSettingsUpdate{}
  789. }
  790. // Handle is the handler for UserSettingsUpdate events.
  791. func (eh userSettingsUpdateEventHandler) Handle(s *Session, i interface{}) {
  792. if t, ok := i.(*UserSettingsUpdate); ok {
  793. eh(s, t)
  794. }
  795. }
  796. // userUpdateEventHandler is an event handler for UserUpdate events.
  797. type userUpdateEventHandler func(*Session, *UserUpdate)
  798. // Type returns the event type for UserUpdate events.
  799. func (eh userUpdateEventHandler) Type() string {
  800. return userUpdateEventType
  801. }
  802. // New returns a new instance of UserUpdate.
  803. func (eh userUpdateEventHandler) New() interface{} {
  804. return &UserUpdate{}
  805. }
  806. // Handle is the handler for UserUpdate events.
  807. func (eh userUpdateEventHandler) Handle(s *Session, i interface{}) {
  808. if t, ok := i.(*UserUpdate); ok {
  809. eh(s, t)
  810. }
  811. }
  812. // voiceServerUpdateEventHandler is an event handler for VoiceServerUpdate events.
  813. type voiceServerUpdateEventHandler func(*Session, *VoiceServerUpdate)
  814. // Type returns the event type for VoiceServerUpdate events.
  815. func (eh voiceServerUpdateEventHandler) Type() string {
  816. return voiceServerUpdateEventType
  817. }
  818. // New returns a new instance of VoiceServerUpdate.
  819. func (eh voiceServerUpdateEventHandler) New() interface{} {
  820. return &VoiceServerUpdate{}
  821. }
  822. // Handle is the handler for VoiceServerUpdate events.
  823. func (eh voiceServerUpdateEventHandler) Handle(s *Session, i interface{}) {
  824. if t, ok := i.(*VoiceServerUpdate); ok {
  825. eh(s, t)
  826. }
  827. }
  828. // voiceStateUpdateEventHandler is an event handler for VoiceStateUpdate events.
  829. type voiceStateUpdateEventHandler func(*Session, *VoiceStateUpdate)
  830. // Type returns the event type for VoiceStateUpdate events.
  831. func (eh voiceStateUpdateEventHandler) Type() string {
  832. return voiceStateUpdateEventType
  833. }
  834. // New returns a new instance of VoiceStateUpdate.
  835. func (eh voiceStateUpdateEventHandler) New() interface{} {
  836. return &VoiceStateUpdate{}
  837. }
  838. // Handle is the handler for VoiceStateUpdate events.
  839. func (eh voiceStateUpdateEventHandler) Handle(s *Session, i interface{}) {
  840. if t, ok := i.(*VoiceStateUpdate); ok {
  841. eh(s, t)
  842. }
  843. }
  844. // webhooksUpdateEventHandler is an event handler for WebhooksUpdate events.
  845. type webhooksUpdateEventHandler func(*Session, *WebhooksUpdate)
  846. // Type returns the event type for WebhooksUpdate events.
  847. func (eh webhooksUpdateEventHandler) Type() string {
  848. return webhooksUpdateEventType
  849. }
  850. // New returns a new instance of WebhooksUpdate.
  851. func (eh webhooksUpdateEventHandler) New() interface{} {
  852. return &WebhooksUpdate{}
  853. }
  854. // Handle is the handler for WebhooksUpdate events.
  855. func (eh webhooksUpdateEventHandler) Handle(s *Session, i interface{}) {
  856. if t, ok := i.(*WebhooksUpdate); ok {
  857. eh(s, t)
  858. }
  859. }
  860. func handlerForInterface(handler interface{}) EventHandler {
  861. switch v := handler.(type) {
  862. case func(*Session, interface{}):
  863. return interfaceEventHandler(v)
  864. case func(*Session, *ChannelCreate):
  865. return channelCreateEventHandler(v)
  866. case func(*Session, *ChannelDelete):
  867. return channelDeleteEventHandler(v)
  868. case func(*Session, *ChannelPinsUpdate):
  869. return channelPinsUpdateEventHandler(v)
  870. case func(*Session, *ChannelUpdate):
  871. return channelUpdateEventHandler(v)
  872. case func(*Session, *Connect):
  873. return connectEventHandler(v)
  874. case func(*Session, *Disconnect):
  875. return disconnectEventHandler(v)
  876. case func(*Session, *Event):
  877. return eventEventHandler(v)
  878. case func(*Session, *GuildBanAdd):
  879. return guildBanAddEventHandler(v)
  880. case func(*Session, *GuildBanRemove):
  881. return guildBanRemoveEventHandler(v)
  882. case func(*Session, *GuildCreate):
  883. return guildCreateEventHandler(v)
  884. case func(*Session, *GuildDelete):
  885. return guildDeleteEventHandler(v)
  886. case func(*Session, *GuildEmojisUpdate):
  887. return guildEmojisUpdateEventHandler(v)
  888. case func(*Session, *GuildIntegrationsUpdate):
  889. return guildIntegrationsUpdateEventHandler(v)
  890. case func(*Session, *GuildMemberAdd):
  891. return guildMemberAddEventHandler(v)
  892. case func(*Session, *GuildMemberRemove):
  893. return guildMemberRemoveEventHandler(v)
  894. case func(*Session, *GuildMemberUpdate):
  895. return guildMemberUpdateEventHandler(v)
  896. case func(*Session, *GuildMembersChunk):
  897. return guildMembersChunkEventHandler(v)
  898. case func(*Session, *GuildRoleCreate):
  899. return guildRoleCreateEventHandler(v)
  900. case func(*Session, *GuildRoleDelete):
  901. return guildRoleDeleteEventHandler(v)
  902. case func(*Session, *GuildRoleUpdate):
  903. return guildRoleUpdateEventHandler(v)
  904. case func(*Session, *GuildUpdate):
  905. return guildUpdateEventHandler(v)
  906. case func(*Session, *InteractionCreate):
  907. return interactionCreateEventHandler(v)
  908. case func(*Session, *MessageAck):
  909. return messageAckEventHandler(v)
  910. case func(*Session, *MessageCreate):
  911. return messageCreateEventHandler(v)
  912. case func(*Session, *MessageDelete):
  913. return messageDeleteEventHandler(v)
  914. case func(*Session, *MessageDeleteBulk):
  915. return messageDeleteBulkEventHandler(v)
  916. case func(*Session, *MessageReactionAdd):
  917. return messageReactionAddEventHandler(v)
  918. case func(*Session, *MessageReactionRemove):
  919. return messageReactionRemoveEventHandler(v)
  920. case func(*Session, *MessageReactionRemoveAll):
  921. return messageReactionRemoveAllEventHandler(v)
  922. case func(*Session, *MessageUpdate):
  923. return messageUpdateEventHandler(v)
  924. case func(*Session, *PresenceUpdate):
  925. return presenceUpdateEventHandler(v)
  926. case func(*Session, *PresencesReplace):
  927. return presencesReplaceEventHandler(v)
  928. case func(*Session, *RateLimit):
  929. return rateLimitEventHandler(v)
  930. case func(*Session, *Ready):
  931. return readyEventHandler(v)
  932. case func(*Session, *RelationshipAdd):
  933. return relationshipAddEventHandler(v)
  934. case func(*Session, *RelationshipRemove):
  935. return relationshipRemoveEventHandler(v)
  936. case func(*Session, *Resumed):
  937. return resumedEventHandler(v)
  938. case func(*Session, *ThreadCreate):
  939. return threadCreateEventHandler(v)
  940. case func(*Session, *ThreadDelete):
  941. return threadDeleteEventHandler(v)
  942. case func(*Session, *ThreadListSync):
  943. return threadListSyncEventHandler(v)
  944. case func(*Session, *ThreadMemberUpdate):
  945. return threadMemberUpdateEventHandler(v)
  946. case func(*Session, *ThreadMembersUpdate):
  947. return threadMembersUpdateEventHandler(v)
  948. case func(*Session, *ThreadUpdate):
  949. return threadUpdateEventHandler(v)
  950. case func(*Session, *TypingStart):
  951. return typingStartEventHandler(v)
  952. case func(*Session, *UserGuildSettingsUpdate):
  953. return userGuildSettingsUpdateEventHandler(v)
  954. case func(*Session, *UserNoteUpdate):
  955. return userNoteUpdateEventHandler(v)
  956. case func(*Session, *UserSettingsUpdate):
  957. return userSettingsUpdateEventHandler(v)
  958. case func(*Session, *UserUpdate):
  959. return userUpdateEventHandler(v)
  960. case func(*Session, *VoiceServerUpdate):
  961. return voiceServerUpdateEventHandler(v)
  962. case func(*Session, *VoiceStateUpdate):
  963. return voiceStateUpdateEventHandler(v)
  964. case func(*Session, *WebhooksUpdate):
  965. return webhooksUpdateEventHandler(v)
  966. }
  967. return nil
  968. }
  969. func init() {
  970. registerInterfaceProvider(channelCreateEventHandler(nil))
  971. registerInterfaceProvider(channelDeleteEventHandler(nil))
  972. registerInterfaceProvider(channelPinsUpdateEventHandler(nil))
  973. registerInterfaceProvider(channelUpdateEventHandler(nil))
  974. registerInterfaceProvider(guildBanAddEventHandler(nil))
  975. registerInterfaceProvider(guildBanRemoveEventHandler(nil))
  976. registerInterfaceProvider(guildCreateEventHandler(nil))
  977. registerInterfaceProvider(guildDeleteEventHandler(nil))
  978. registerInterfaceProvider(guildEmojisUpdateEventHandler(nil))
  979. registerInterfaceProvider(guildIntegrationsUpdateEventHandler(nil))
  980. registerInterfaceProvider(guildMemberAddEventHandler(nil))
  981. registerInterfaceProvider(guildMemberRemoveEventHandler(nil))
  982. registerInterfaceProvider(guildMemberUpdateEventHandler(nil))
  983. registerInterfaceProvider(guildMembersChunkEventHandler(nil))
  984. registerInterfaceProvider(guildRoleCreateEventHandler(nil))
  985. registerInterfaceProvider(guildRoleDeleteEventHandler(nil))
  986. registerInterfaceProvider(guildRoleUpdateEventHandler(nil))
  987. registerInterfaceProvider(guildUpdateEventHandler(nil))
  988. registerInterfaceProvider(interactionCreateEventHandler(nil))
  989. registerInterfaceProvider(messageAckEventHandler(nil))
  990. registerInterfaceProvider(messageCreateEventHandler(nil))
  991. registerInterfaceProvider(messageDeleteEventHandler(nil))
  992. registerInterfaceProvider(messageDeleteBulkEventHandler(nil))
  993. registerInterfaceProvider(messageReactionAddEventHandler(nil))
  994. registerInterfaceProvider(messageReactionRemoveEventHandler(nil))
  995. registerInterfaceProvider(messageReactionRemoveAllEventHandler(nil))
  996. registerInterfaceProvider(messageUpdateEventHandler(nil))
  997. registerInterfaceProvider(presenceUpdateEventHandler(nil))
  998. registerInterfaceProvider(presencesReplaceEventHandler(nil))
  999. registerInterfaceProvider(readyEventHandler(nil))
  1000. registerInterfaceProvider(relationshipAddEventHandler(nil))
  1001. registerInterfaceProvider(relationshipRemoveEventHandler(nil))
  1002. registerInterfaceProvider(resumedEventHandler(nil))
  1003. registerInterfaceProvider(threadCreateEventHandler(nil))
  1004. registerInterfaceProvider(threadDeleteEventHandler(nil))
  1005. registerInterfaceProvider(threadListSyncEventHandler(nil))
  1006. registerInterfaceProvider(threadMemberUpdateEventHandler(nil))
  1007. registerInterfaceProvider(threadMembersUpdateEventHandler(nil))
  1008. registerInterfaceProvider(threadUpdateEventHandler(nil))
  1009. registerInterfaceProvider(typingStartEventHandler(nil))
  1010. registerInterfaceProvider(userGuildSettingsUpdateEventHandler(nil))
  1011. registerInterfaceProvider(userNoteUpdateEventHandler(nil))
  1012. registerInterfaceProvider(userSettingsUpdateEventHandler(nil))
  1013. registerInterfaceProvider(userUpdateEventHandler(nil))
  1014. registerInterfaceProvider(voiceServerUpdateEventHandler(nil))
  1015. registerInterfaceProvider(voiceStateUpdateEventHandler(nil))
  1016. registerInterfaceProvider(webhooksUpdateEventHandler(nil))
  1017. }