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