[{"data":1,"prerenderedAt":1185},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-guide-glyria-bus":151,"-fr-guide-glyria-bus-surround":1180},[4,34,69,94,122],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Bien démarrer",false,"\u002Ffr\u002Fgetting-started","fr\u002F1.getting-started",[10,15,20,25,29],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Ffr\u002Fgetting-started\u002Fintroduction","fr\u002F1.getting-started\u002F1.introduction","i-lucide-sparkles",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Ffr\u002Fgetting-started\u002Fsetup","fr\u002F1.getting-started\u002F2.setup","i-lucide-rocket",{"title":21,"path":22,"stem":23,"icon":24},"Structure du projet","\u002Ffr\u002Fgetting-started\u002Fproject-structure","fr\u002F1.getting-started\u002F3.project-structure","i-lucide-folder-tree",{"title":26,"path":27,"stem":28,"icon":24},"Structure d’un module","\u002Ffr\u002Fgetting-started\u002Fmodule-structure","fr\u002F1.getting-started\u002F4.module-structure",{"title":30,"path":31,"stem":32,"icon":33},"Auto-imports","\u002Ffr\u002Fgetting-started\u002Fauto-imports","fr\u002F1.getting-started\u002F5.auto-imports","i-lucide-wand",{"title":35,"icon":6,"path":36,"stem":37,"children":38,"page":6},"Guide","\u002Ffr\u002Fguide","fr\u002F2.guide",[39,44,49,54,59,64],{"title":40,"path":41,"stem":42,"icon":43},"Commandes","\u002Ffr\u002Fguide\u002Fcommands","fr\u002F2.guide\u002F1.commands","i-lucide-terminal",{"title":45,"path":46,"stem":47,"icon":48},"Events","\u002Ffr\u002Fguide\u002Fevents","fr\u002F2.guide\u002F2.events","i-lucide-radio",{"title":50,"path":51,"stem":52,"icon":53},"Embeds V2","\u002Ffr\u002Fguide\u002Fembed-v2","fr\u002F2.guide\u002F3.embed-v2","i-lucide-layout",{"title":55,"path":56,"stem":57,"icon":58},"GlyriaBus","\u002Ffr\u002Fguide\u002Fglyria-bus","fr\u002F2.guide\u002F4.glyria-bus","i-lucide-bus",{"title":60,"path":61,"stem":62,"icon":63},"Replyable Context","\u002Ffr\u002Fguide\u002Freplyable-context","fr\u002F2.guide\u002F5.replyable-context","i-lucide-message-square",{"title":65,"path":66,"stem":67,"icon":68},"Modules","\u002Ffr\u002Fguide\u002Fmodules","fr\u002F2.guide\u002F6.modules","i-lucide-package",{"title":70,"icon":6,"path":71,"stem":72,"children":73,"page":6},"Exemples","\u002Ffr\u002Fexamples","fr\u002F3.examples",[74,79,82,86,89],{"title":75,"path":76,"stem":77,"icon":78},"Client","\u002Ffr\u002Fexamples\u002Fclient","fr\u002F3.examples\u002F1.client","i-lucide-bot",{"title":40,"path":80,"stem":81,"icon":43},"\u002Ffr\u002Fexamples\u002Fcommands","fr\u002F3.examples\u002F2.commands",{"title":45,"path":83,"stem":84,"icon":85},"\u002Ffr\u002Fexamples\u002Fevents","fr\u002F3.examples\u002F3.events","i-lucide-zap",{"title":50,"path":87,"stem":88,"icon":53},"\u002Ffr\u002Fexamples\u002Fembeds","fr\u002F3.examples\u002F4.embeds",{"title":90,"path":91,"stem":92,"icon":93},"Module","\u002Ffr\u002Fexamples\u002Fmodule","fr\u002F3.examples\u002F5.module","i-lucide-code",{"title":95,"icon":6,"path":96,"stem":97,"children":98,"page":6},"CLI","\u002Ffr\u002Fcli","fr\u002F4.cli",[99,104,109,113,117],{"title":100,"path":101,"stem":102,"icon":103},"glyria init","\u002Ffr\u002Fcli\u002Finit","fr\u002F4.cli\u002F1.init","i-lucide-folder-plus",{"title":105,"path":106,"stem":107,"icon":108},"glyria generate","\u002Ffr\u002Fcli\u002Fgenerate","fr\u002F4.cli\u002F2.generate","i-lucide-refresh-cw",{"title":110,"path":111,"stem":112,"icon":85},"glyria dev","\u002Ffr\u002Fcli\u002Fdev","fr\u002F4.cli\u002F3.dev",{"title":114,"path":115,"stem":116,"icon":68},"glyria build","\u002Ffr\u002Fcli\u002Fbuild","fr\u002F4.cli\u002F4.build",{"title":118,"path":119,"stem":120,"icon":121},"glyria start","\u002Ffr\u002Fcli\u002Fstart","fr\u002F4.cli\u002F5.start","i-lucide-play",{"title":123,"icon":6,"path":124,"stem":125,"children":126,"page":6},"API Reference","\u002Ffr\u002Fapi-reference","fr\u002F5.api-reference",[127,131,135,139,143,146],{"title":128,"path":129,"stem":130,"icon":78},"GlyriaClient","\u002Ffr\u002Fapi-reference\u002Fglyria-client","fr\u002F5.api-reference\u002F1.glyria-client",{"title":132,"path":133,"stem":134,"icon":43},"GlyriaCommand","\u002Ffr\u002Fapi-reference\u002Fglyria-command","fr\u002F5.api-reference\u002F2.glyria-command",{"title":136,"path":137,"stem":138,"icon":48},"GlyriaEvent","\u002Ffr\u002Fapi-reference\u002Fglyria-event","fr\u002F5.api-reference\u002F3.glyria-event",{"title":140,"path":141,"stem":142,"icon":53},"EmbedV2Builder","\u002Ffr\u002Fapi-reference\u002Fembed-v2","fr\u002F5.api-reference\u002F4.embed-v2",{"title":55,"path":144,"stem":145,"icon":58},"\u002Ffr\u002Fapi-reference\u002Fglyria-bus","fr\u002F5.api-reference\u002F5.glyria-bus",{"title":147,"path":148,"stem":149,"icon":150},"defineGlyriaConfig","\u002Ffr\u002Fapi-reference\u002Fdefine-glyria-config","fr\u002F5.api-reference\u002F6.define-glyria-config","i-lucide-settings",{"id":152,"title":55,"body":153,"description":1173,"extension":1174,"links":1175,"meta":1176,"navigation":1177,"path":56,"seo":1178,"stem":57,"__hash__":1179},"docs_fr\u002Ffr\u002F2.guide\u002F4.glyria-bus.md",{"type":154,"value":155,"toc":1163},"minimark",[156,161,168,171,175,178,354,365,369,376,550,555,654,658,664,806,810,816,955,965,969,975,1002,1008,1051,1055,1061,1085,1089,1159],[157,158,160],"h2",{"id":159},"quest-ce-que-glyriabus","Qu'est-ce que GlyriaBus ?",[162,163,164,167],"p",{},[165,166,55],"code",{}," est un bus d'événements typé intégré à glyria.js. Il vous permet de créer des canaux de communication internes entre les différentes parties de votre bot — commandes, événements, services — sans les coupler entre eux.",[162,169,170],{},"Considérez-le comme un système pub\u002Fsub typé avec support des middlewares.",[157,172,174],{"id":173},"utilisation-de-base","Utilisation de base",[162,176,177],{},"Définissez vos événements et leurs types de payload, puis créez un bus :",[179,180,185],"pre",{"className":181,"code":182,"language":183,"meta":184,"style":184},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F src\u002Futils\u002FuseBus.ts\ntype BotEvents = {\n  userBanned: [guildId: string, userId: string, reason: string]\n  levelUp: [userId: string, level: number]\n  messageLogged: [content: string]\n}\n\nexport const useBus = new GlyriaBus\u003CBotEvents>()\n","ts","",[165,186,187,196,214,258,287,306,312,319],{"__ignoreMap":184},[188,189,192],"span",{"class":190,"line":191},"line",1,[188,193,195],{"class":194},"sHwdD","\u002F\u002F src\u002Futils\u002FuseBus.ts\n",[188,197,199,203,207,211],{"class":190,"line":198},2,[188,200,202],{"class":201},"spNyl","type",[188,204,206],{"class":205},"sBMFI"," BotEvents",[188,208,210],{"class":209},"sMK4o"," =",[188,212,213],{"class":209}," {\n",[188,215,217,221,224,228,231,233,236,239,242,244,246,248,251,253,255],{"class":190,"line":216},3,[188,218,220],{"class":219},"swJcz","  userBanned",[188,222,223],{"class":209},":",[188,225,227],{"class":226},"sTEyZ"," [",[188,229,230],{"class":205},"guildId",[188,232,223],{"class":209},[188,234,235],{"class":205}," string",[188,237,238],{"class":209},",",[188,240,241],{"class":205}," userId",[188,243,223],{"class":209},[188,245,235],{"class":205},[188,247,238],{"class":209},[188,249,250],{"class":205}," reason",[188,252,223],{"class":209},[188,254,235],{"class":205},[188,256,257],{"class":226},"]\n",[188,259,261,264,266,268,271,273,275,277,280,282,285],{"class":190,"line":260},4,[188,262,263],{"class":219},"  levelUp",[188,265,223],{"class":209},[188,267,227],{"class":226},[188,269,270],{"class":205},"userId",[188,272,223],{"class":209},[188,274,235],{"class":205},[188,276,238],{"class":209},[188,278,279],{"class":205}," level",[188,281,223],{"class":209},[188,283,284],{"class":205}," number",[188,286,257],{"class":226},[188,288,290,293,295,297,300,302,304],{"class":190,"line":289},5,[188,291,292],{"class":219},"  messageLogged",[188,294,223],{"class":209},[188,296,227],{"class":226},[188,298,299],{"class":205},"content",[188,301,223],{"class":209},[188,303,235],{"class":205},[188,305,257],{"class":226},[188,307,309],{"class":190,"line":308},6,[188,310,311],{"class":209},"}\n",[188,313,315],{"class":190,"line":314},7,[188,316,318],{"emptyLinePlaceholder":317},true,"\n",[188,320,322,326,329,332,335,338,342,345,348,351],{"class":190,"line":321},8,[188,323,325],{"class":324},"s7zQu","export",[188,327,328],{"class":201}," const",[188,330,331],{"class":226}," useBus ",[188,333,334],{"class":209},"=",[188,336,337],{"class":209}," new",[188,339,341],{"class":340},"s2Zo4"," GlyriaBus",[188,343,344],{"class":209},"\u003C",[188,346,347],{"class":205},"BotEvents",[188,349,350],{"class":209},">",[188,352,353],{"class":226},"()\n",[162,355,356,357,360,361,364],{},"Comme ",[165,358,359],{},"src\u002Futils\u002F"," est auto-importé, ",[165,362,363],{},"useBus"," est disponible partout sans import.",[157,366,368],{"id":367},"écouter-des-événements","Écouter des événements",[162,370,371,372,375],{},"Utilisez ",[165,373,374],{},".on()"," pour écouter un événement :",[179,377,379],{"className":181,"code":378,"language":183,"meta":184,"style":184},"\u002F\u002F src\u002Fevents\u002Fready.ts\nexport default event()\n  .setEvent(Events.ClientReady)\n  .once()\n  .execute(() => {\n    useBus.on(\"userBanned\", (guildId, userId, reason) => {\n      console.log(`Utilisateur ${userId} banni de ${guildId} : ${reason}`)\n    })\n  })\n",[165,380,381,386,398,415,424,442,486,535,542],{"__ignoreMap":184},[188,382,383],{"class":190,"line":191},[188,384,385],{"class":194},"\u002F\u002F src\u002Fevents\u002Fready.ts\n",[188,387,388,390,393,396],{"class":190,"line":198},[188,389,325],{"class":324},[188,391,392],{"class":324}," default",[188,394,395],{"class":340}," event",[188,397,353],{"class":226},[188,399,400,403,406,409,412],{"class":190,"line":216},[188,401,402],{"class":209},"  .",[188,404,405],{"class":340},"setEvent",[188,407,408],{"class":226},"(Events",[188,410,411],{"class":209},".",[188,413,414],{"class":226},"ClientReady)\n",[188,416,417,419,422],{"class":190,"line":260},[188,418,402],{"class":209},[188,420,421],{"class":340},"once",[188,423,353],{"class":226},[188,425,426,428,431,434,437,440],{"class":190,"line":289},[188,427,402],{"class":209},[188,429,430],{"class":340},"execute",[188,432,433],{"class":226},"(",[188,435,436],{"class":209},"()",[188,438,439],{"class":201}," =>",[188,441,213],{"class":209},[188,443,444,447,449,452,454,457,461,463,465,468,471,473,475,477,479,482,484],{"class":190,"line":308},[188,445,446],{"class":226},"    useBus",[188,448,411],{"class":209},[188,450,451],{"class":340},"on",[188,453,433],{"class":219},[188,455,456],{"class":209},"\"",[188,458,460],{"class":459},"sfazB","userBanned",[188,462,456],{"class":209},[188,464,238],{"class":209},[188,466,467],{"class":209}," (",[188,469,230],{"class":470},"sHdIc",[188,472,238],{"class":209},[188,474,241],{"class":470},[188,476,238],{"class":209},[188,478,250],{"class":470},[188,480,481],{"class":209},")",[188,483,439],{"class":201},[188,485,213],{"class":209},[188,487,488,491,493,496,498,501,504,507,509,512,515,517,519,521,524,526,529,532],{"class":190,"line":314},[188,489,490],{"class":226},"      console",[188,492,411],{"class":209},[188,494,495],{"class":340},"log",[188,497,433],{"class":219},[188,499,500],{"class":209},"`",[188,502,503],{"class":459},"Utilisateur ",[188,505,506],{"class":209},"${",[188,508,270],{"class":226},[188,510,511],{"class":209},"}",[188,513,514],{"class":459}," banni de ",[188,516,506],{"class":209},[188,518,230],{"class":226},[188,520,511],{"class":209},[188,522,523],{"class":459}," : ",[188,525,506],{"class":209},[188,527,528],{"class":226},"reason",[188,530,531],{"class":209},"}`",[188,533,534],{"class":219},")\n",[188,536,537,540],{"class":190,"line":321},[188,538,539],{"class":209},"    }",[188,541,534],{"class":219},[188,543,545,548],{"class":190,"line":544},9,[188,546,547],{"class":209},"  }",[188,549,534],{"class":226},[162,551,552,554],{},[165,553,374],{}," retourne une fonction de désinscription :",[179,556,558],{"className":181,"code":557,"language":183,"meta":184,"style":184},"const unregister = useBus.on(\"levelUp\", (userId, level) => {\n  console.log(`${userId} a atteint le niveau ${level}`)\n})\n\n\u002F\u002F plus tard\nunregister()\n",[165,559,560,602,632,638,642,647],{"__ignoreMap":184},[188,561,562,565,568,570,573,575,577,579,581,584,586,588,590,592,594,596,598,600],{"class":190,"line":191},[188,563,564],{"class":201},"const",[188,566,567],{"class":226}," unregister ",[188,569,334],{"class":209},[188,571,572],{"class":226}," useBus",[188,574,411],{"class":209},[188,576,451],{"class":340},[188,578,433],{"class":226},[188,580,456],{"class":209},[188,582,583],{"class":459},"levelUp",[188,585,456],{"class":209},[188,587,238],{"class":209},[188,589,467],{"class":209},[188,591,270],{"class":470},[188,593,238],{"class":209},[188,595,279],{"class":470},[188,597,481],{"class":209},[188,599,439],{"class":201},[188,601,213],{"class":209},[188,603,604,607,609,611,613,616,618,620,623,625,628,630],{"class":190,"line":198},[188,605,606],{"class":226},"  console",[188,608,411],{"class":209},[188,610,495],{"class":340},[188,612,433],{"class":219},[188,614,615],{"class":209},"`${",[188,617,270],{"class":226},[188,619,511],{"class":209},[188,621,622],{"class":459}," a atteint le niveau ",[188,624,506],{"class":209},[188,626,627],{"class":226},"level",[188,629,531],{"class":209},[188,631,534],{"class":219},[188,633,634,636],{"class":190,"line":216},[188,635,511],{"class":209},[188,637,534],{"class":226},[188,639,640],{"class":190,"line":260},[188,641,318],{"emptyLinePlaceholder":317},[188,643,644],{"class":190,"line":289},[188,645,646],{"class":194},"\u002F\u002F plus tard\n",[188,648,649,652],{"class":190,"line":308},[188,650,651],{"class":340},"unregister",[188,653,353],{"class":226},[157,655,657],{"id":656},"émettre-des-événements","Émettre des événements",[162,659,371,660,663],{},[165,661,662],{},".emit()"," pour déclencher un événement depuis n'importe où dans votre bot :",[179,665,667],{"className":181,"code":666,"language":183,"meta":184,"style":184},"\u002F\u002F src\u002Fcommands\u002Fmoderation\u002Fban.ts\nexport default new GlyriaCommand()\n  .setName(\"ban\")\n  .setDescription(\"Bannir un utilisateur du serveur\")\n  .execute(async (ctx) => {\n    \u002F\u002F ... logique de ban\n\n    await useBus.emit(\"userBanned\", ctx.guild.id, targetId, reason)\n  })\n",[165,668,669,674,687,705,723,745,750,754,800],{"__ignoreMap":184},[188,670,671],{"class":190,"line":191},[188,672,673],{"class":194},"\u002F\u002F src\u002Fcommands\u002Fmoderation\u002Fban.ts\n",[188,675,676,678,680,682,685],{"class":190,"line":198},[188,677,325],{"class":324},[188,679,392],{"class":324},[188,681,337],{"class":209},[188,683,684],{"class":340}," GlyriaCommand",[188,686,353],{"class":226},[188,688,689,691,694,696,698,701,703],{"class":190,"line":216},[188,690,402],{"class":209},[188,692,693],{"class":340},"setName",[188,695,433],{"class":226},[188,697,456],{"class":209},[188,699,700],{"class":459},"ban",[188,702,456],{"class":209},[188,704,534],{"class":226},[188,706,707,709,712,714,716,719,721],{"class":190,"line":260},[188,708,402],{"class":209},[188,710,711],{"class":340},"setDescription",[188,713,433],{"class":226},[188,715,456],{"class":209},[188,717,718],{"class":459},"Bannir un utilisateur du serveur",[188,720,456],{"class":209},[188,722,534],{"class":226},[188,724,725,727,729,731,734,736,739,741,743],{"class":190,"line":289},[188,726,402],{"class":209},[188,728,430],{"class":340},[188,730,433],{"class":226},[188,732,733],{"class":201},"async",[188,735,467],{"class":209},[188,737,738],{"class":470},"ctx",[188,740,481],{"class":209},[188,742,439],{"class":201},[188,744,213],{"class":209},[188,746,747],{"class":190,"line":308},[188,748,749],{"class":194},"    \u002F\u002F ... logique de ban\n",[188,751,752],{"class":190,"line":314},[188,753,318],{"emptyLinePlaceholder":317},[188,755,756,759,761,763,766,768,770,772,774,776,779,781,784,786,789,791,794,796,798],{"class":190,"line":321},[188,757,758],{"class":324},"    await",[188,760,572],{"class":226},[188,762,411],{"class":209},[188,764,765],{"class":340},"emit",[188,767,433],{"class":219},[188,769,456],{"class":209},[188,771,460],{"class":459},[188,773,456],{"class":209},[188,775,238],{"class":209},[188,777,778],{"class":226}," ctx",[188,780,411],{"class":209},[188,782,783],{"class":226},"guild",[188,785,411],{"class":209},[188,787,788],{"class":226},"id",[188,790,238],{"class":209},[188,792,793],{"class":226}," targetId",[188,795,238],{"class":209},[188,797,250],{"class":226},[188,799,534],{"class":219},[188,801,802,804],{"class":190,"line":544},[188,803,547],{"class":209},[188,805,534],{"class":226},[157,807,809],{"id":808},"middleware","Middleware",[162,811,371,812,815],{},[165,813,814],{},".use()"," pour ajouter des middlewares qui s'exécutent avant les listeners — utile pour la journalisation, la validation ou la transformation des données :",[179,817,819],{"className":181,"code":818,"language":183,"meta":184,"style":184},"useBus.use(\"userBanned\", async (guildId, userId, reason, next) => {\n  console.log(`[middleware] événement ban reçu`)\n  await next() \u002F\u002F appelle le middleware ou listener suivant\n})\n\nuseBus.on(\"userBanned\", (guildId, userId, reason) => {\n  \u002F\u002F s'exécute après le middleware\n})\n",[165,820,821,866,885,898,904,908,944,949],{"__ignoreMap":184},[188,822,823,825,827,830,832,834,836,838,840,843,845,847,849,851,853,855,857,860,862,864],{"class":190,"line":191},[188,824,363],{"class":226},[188,826,411],{"class":209},[188,828,829],{"class":340},"use",[188,831,433],{"class":226},[188,833,456],{"class":209},[188,835,460],{"class":459},[188,837,456],{"class":209},[188,839,238],{"class":209},[188,841,842],{"class":201}," async",[188,844,467],{"class":209},[188,846,230],{"class":470},[188,848,238],{"class":209},[188,850,241],{"class":470},[188,852,238],{"class":209},[188,854,250],{"class":470},[188,856,238],{"class":209},[188,858,859],{"class":470}," next",[188,861,481],{"class":209},[188,863,439],{"class":201},[188,865,213],{"class":209},[188,867,868,870,872,874,876,878,881,883],{"class":190,"line":198},[188,869,606],{"class":226},[188,871,411],{"class":209},[188,873,495],{"class":340},[188,875,433],{"class":219},[188,877,500],{"class":209},[188,879,880],{"class":459},"[middleware] événement ban reçu",[188,882,500],{"class":209},[188,884,534],{"class":219},[188,886,887,890,892,895],{"class":190,"line":216},[188,888,889],{"class":324},"  await",[188,891,859],{"class":340},[188,893,894],{"class":219},"() ",[188,896,897],{"class":194},"\u002F\u002F appelle le middleware ou listener suivant\n",[188,899,900,902],{"class":190,"line":260},[188,901,511],{"class":209},[188,903,534],{"class":226},[188,905,906],{"class":190,"line":289},[188,907,318],{"emptyLinePlaceholder":317},[188,909,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942],{"class":190,"line":308},[188,911,363],{"class":226},[188,913,411],{"class":209},[188,915,451],{"class":340},[188,917,433],{"class":226},[188,919,456],{"class":209},[188,921,460],{"class":459},[188,923,456],{"class":209},[188,925,238],{"class":209},[188,927,467],{"class":209},[188,929,230],{"class":470},[188,931,238],{"class":209},[188,933,241],{"class":470},[188,935,238],{"class":209},[188,937,250],{"class":470},[188,939,481],{"class":209},[188,941,439],{"class":201},[188,943,213],{"class":209},[188,945,946],{"class":190,"line":314},[188,947,948],{"class":194},"  \u002F\u002F s'exécute après le middleware\n",[188,950,951,953],{"class":190,"line":321},[188,952,511],{"class":209},[188,954,534],{"class":226},[162,956,957,958,961,962,964],{},"Les middlewares s'exécutent dans l'ordre d'enregistrement. Appeler ",[165,959,960],{},"next()"," passe le contrôle au middleware ou listener suivant. Ne pas appeler ",[165,963,960],{}," stoppe la chaîne.",[157,966,968],{"id":967},"supprimer-des-listeners","Supprimer des listeners",[162,970,371,971,974],{},[165,972,973],{},".off()"," pour supprimer manuellement un middleware ou un listener :",[179,976,978],{"className":181,"code":977,"language":183,"meta":184,"style":184},"useBus.off(\"userBanned\", myMiddleware)\n",[165,979,980],{"__ignoreMap":184},[188,981,982,984,986,989,991,993,995,997,999],{"class":190,"line":191},[188,983,363],{"class":226},[188,985,411],{"class":209},[188,987,988],{"class":340},"off",[188,990,433],{"class":226},[188,992,456],{"class":209},[188,994,460],{"class":459},[188,996,456],{"class":209},[188,998,238],{"class":209},[188,1000,1001],{"class":226}," myMiddleware)\n",[162,1003,1004,1005,1007],{},"Ou utilisez la fonction de désinscription retournée par ",[165,1006,374],{}," :",[179,1009,1011],{"className":181,"code":1010,"language":183,"meta":184,"style":184},"const stop = useBus.on(\"levelUp\", handler)\nstop() \u002F\u002F supprime le listener\n",[165,1012,1013,1041],{"__ignoreMap":184},[188,1014,1015,1017,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038],{"class":190,"line":191},[188,1016,564],{"class":201},[188,1018,1019],{"class":226}," stop ",[188,1021,334],{"class":209},[188,1023,572],{"class":226},[188,1025,411],{"class":209},[188,1027,451],{"class":340},[188,1029,433],{"class":226},[188,1031,456],{"class":209},[188,1033,583],{"class":459},[188,1035,456],{"class":209},[188,1037,238],{"class":209},[188,1039,1040],{"class":226}," handler)\n",[188,1042,1043,1046,1048],{"class":190,"line":198},[188,1044,1045],{"class":340},"stop",[188,1047,894],{"class":226},[188,1049,1050],{"class":194},"\u002F\u002F supprime le listener\n",[157,1052,1054],{"id":1053},"vider-tous-les-listeners","Vider tous les listeners",[162,1056,371,1057,1060],{},[165,1058,1059],{},".clear()"," pour supprimer tous les listeners d'un événement donné :",[179,1062,1064],{"className":181,"code":1063,"language":183,"meta":184,"style":184},"useBus.clear(\"userBanned\")\n",[165,1065,1066],{"__ignoreMap":184},[188,1067,1068,1070,1072,1075,1077,1079,1081,1083],{"class":190,"line":191},[188,1069,363],{"class":226},[188,1071,411],{"class":209},[188,1073,1074],{"class":340},"clear",[188,1076,433],{"class":226},[188,1078,456],{"class":209},[188,1080,460],{"class":459},[188,1082,456],{"class":209},[188,1084,534],{"class":226},[157,1086,1088],{"id":1087},"api","API",[1090,1091,1092,1105],"table",{},[1093,1094,1095],"thead",{},[1096,1097,1098,1102],"tr",{},[1099,1100,1101],"th",{},"Méthode",[1099,1103,1104],{},"Description",[1106,1107,1108,1119,1129,1139,1149],"tbody",{},[1096,1109,1110,1116],{},[1111,1112,1113],"td",{},[165,1114,1115],{},".use(event, middleware)",[1111,1117,1118],{},"Enregistre un middleware pour un événement",[1096,1120,1121,1126],{},[1111,1122,1123],{},[165,1124,1125],{},".on(event, listener)",[1111,1127,1128],{},"Enregistre un listener — retourne une fonction de désinscription",[1096,1130,1131,1136],{},[1111,1132,1133],{},[165,1134,1135],{},".off(event, middleware)",[1111,1137,1138],{},"Supprime un middleware spécifique",[1096,1140,1141,1146],{},[1111,1142,1143],{},[165,1144,1145],{},".emit(event, ...args)",[1111,1147,1148],{},"Émet un événement avec des arguments typés",[1096,1150,1151,1156],{},[1111,1152,1153],{},[165,1154,1155],{},".clear(event)",[1111,1157,1158],{},"Supprime tous les listeners d'un événement",[1160,1161,1162],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":184,"searchDepth":198,"depth":198,"links":1164},[1165,1166,1167,1168,1169,1170,1171,1172],{"id":159,"depth":198,"text":160},{"id":173,"depth":198,"text":174},{"id":367,"depth":198,"text":368},{"id":656,"depth":198,"text":657},{"id":808,"depth":198,"text":809},{"id":967,"depth":198,"text":968},{"id":1053,"depth":198,"text":1054},{"id":1087,"depth":198,"text":1088},"Un bus d'événements typé avec support des middlewares pour votre bot Discord.","md",null,{},{"icon":58},{"title":55,"description":1173},"C80llWg-VVfWG4A8z7-1IL-feTYQkloY90M1L4k6z-M",[1181,1183],{"title":50,"path":51,"stem":52,"description":1182,"icon":53,"children":-1},"Créez des messages Discord enrichis avec l'EmbedV2Builder.",{"title":60,"path":61,"stem":62,"description":1184,"icon":63,"children":-1},"Envoyez des réponses stylisées instantanément avec ctx.g.reply.",1779887240594]