{"id":1900,"date":"2023-05-16T11:03:42","date_gmt":"2023-05-16T09:03:42","guid":{"rendered":"https:\/\/konekan.fr\/?p=1900"},"modified":"2025-05-22T23:04:48","modified_gmt":"2025-05-22T21:04:48","slug":"bot-discord-avec-rust-en","status":"publish","type":"post","link":"https:\/\/konekan.fr\/index.php\/en\/2023\/05\/16\/bot-discord-avec-rust-en\/","title":{"rendered":"&nbsp;Bot discord avec Rust"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1900\" class=\"elementor elementor-1900\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6244ddac elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6244ddac\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-wider\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-43a668f3\" data-id=\"43a668f3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-35771aa elementor-widget elementor-widget-heading\" data-id=\"35771aa\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">&nbsp;Bot discord avec Rust<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-5c6622c3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5c6622c3\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-38dac596\" data-id=\"38dac596\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3e296444 elementor-align-center elementor-widget elementor-widget-post-info\" data-id=\"3e296444\" data-element_type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-49a232a elementor-inline-item\" itemprop=\"author\">\n\t\t\t\t\t\t<a href=\"https:\/\/konekan.fr\/index.php\/author\/lucasguichard127\/\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-user-circle\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author\">\n\t\t\t\t\t\t\t\t\t\tlucasguichard127\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-05df5ef elementor-inline-item\" itemprop=\"datePublished\">\n\t\t\t\t\t\t<a href=\"https:\/\/konekan.fr\/index.php\/2023\/05\/16\/\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-calendar\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date\">\n\t\t\t\t\t\t\t\t\t\t<time>mai 16, 2023<\/time>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-697cf04 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-clock\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time\">\n\t\t\t\t\t\t\t\t\t\t<time>11:03 am<\/time>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-bf070ba elementor-inline-item\" itemprop=\"commentCount\">\n\t\t\t\t\t\t<a href=\"https:\/\/konekan.fr\/index.php\/en\/2023\/05\/16\/bot-discord-avec-rust-en\/#respond\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-comment-dots\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-comments\">\n\t\t\t\t\t\t\t\t\t\tAucun commentaire\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-dcee5c4 elementor-inline-item\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-tags\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/async-en\/\" class=\"elementor-post-info__terms-list-item\">async<\/a>, <a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/bot-discord-en\/\" class=\"elementor-post-info__terms-list-item\">bot discord<\/a>, <a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/projet-perso-en\/\" class=\"elementor-post-info__terms-list-item\">projet perso<\/a>, <a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/rust-en\/\" class=\"elementor-post-info__terms-list-item\">Rust<\/a>, <a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/serenity-en\/\" class=\"elementor-post-info__terms-list-item\">serenity<\/a>, <a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/tokio-en\/\" class=\"elementor-post-info__terms-list-item\">tokio<\/a>, <a href=\"https:\/\/konekan.fr\/index.php\/en\/tag\/training-en\/\" class=\"elementor-post-info__terms-list-item\">training<\/a>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-2cb4829f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2cb4829f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-2bece535\" data-id=\"2bece535\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-57d7ce95 elementor-position-left elementor-widget__width-auto elementor-vertical-align-middle elementor-view-default elementor-mobile-position-top elementor-widget elementor-widget-icon-box\" data-id=\"57d7ce95\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/github.com\/GuicLuca\/GameBot4Fun\" target=\"_blank\" class=\"elementor-icon\" tabindex=\"-1\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-github-alt\"><\/i>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tGitHub repository\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-48f09cba elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"48f09cba\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-wider\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9ac1c91\" data-id=\"9ac1c91\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-453989c9 elementor-widget elementor-widget-heading\" data-id=\"453989c9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The Challenge<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-286b1e7d elementor-widget elementor-widget-text-editor\" data-id=\"286b1e7d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0After completing the course-project that involved creating a game server in Rust, I wanted to continue working with the language to familiarize myself with all its concepts. My networking professor always had great advice during class, but it was hard to remember everything at once. That\u2019s why I came up with the idea of creating a bot that would automatically post daily messages at a fixed time, sharing a tip of the day on his community Discord.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-318e4d76 elementor-widget elementor-widget-heading\" data-id=\"318e4d76\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">My Approach<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-224321ed elementor-widget elementor-widget-text-editor\" data-id=\"224321ed\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0The project is fairly short, but my primary goal was to explore new aspects of the Rust language while creating a practical tool. I started by listing the features I wanted the bot to include before diving into development. Here\u2019s a brief list:\n<ul>\n \t<li>Create, read, update, and delete a \u00ab\u00a0Tip\u00a0\u00bb (name of the data structure containing the daily message information).<\/li>\n \t<li>Display the list of already created tips.<\/li>\n \t<li>Have an asynchronous script that sends one tip per day at a fixed time.<\/li>\n \t<li>Allow configuration of the script to choose the time and channel for the message.<\/li>\n \t<li>Enable starting, stopping, and checking the configuration of the script.<\/li>\n \t<li>Persist all data in a database to survive crashes or bot updates.<\/li>\n \t<li>Allow all interactions to be managed directly from Discord without touching the code.<\/li>\n<\/ul><\/p>\n<p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0Once I identified the requirements, I began looking for resources to guide the project (documentation, videos, libraries, etc.). Ultimately, I drew significant inspiration from the <a style=\"color: grey; font-weight: bold; text-decoration: underline;\" href=\"https:\/\/github.com\/serenity-rs\/serenity\/tree\/current\/examples\">Serenity\/example<\/a> GitHub repository, which taught me how to use Serenity (a Rust framework for interacting with the Discord API) and how to structure projects effectively. I also used Tokio for the asynchronous part and Rusqlite for database management.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-22817e9a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"22817e9a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-6bbd171b\" data-id=\"6bbd171b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4bc21599 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"4bc21599\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-clock\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Project Duration: 2 weeks<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Project Size: Approximately 2,000 lines of code<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-66479b3d\" data-id=\"66479b3d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-61e5f3d8 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"61e5f3d8\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-cogs\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Number of Commands: 7<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-cubes\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Number of Major Dependencies: 8<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-47866bc0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"47866bc0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-5c483c19\" data-id=\"5c483c19\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4b7aa13b elementor-widget elementor-widget-testimonial\" data-id=\"4b7aa13b\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-wrapper\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-content\">This project was an opportunity for me to combine the useful with the enjoyable by dedicating my time to a fun and helpful project for others. I feel that this project will continue to evolve as new needs arise on the Discord server.<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-aside\">\n\t\t\t\t<div class=\"elementor-testimonial-meta-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-image\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/konekan.fr\/wp-content\/uploads\/2023\/02\/portraitDeMoi-scaled-e1676157618267-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail wp-image-592\" alt=\"C&#039;est ma petite t\u00eate sur cette photo\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-details\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-job\">- Lucas <\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-48f6d034 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"48f6d034\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-wider\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4a80aeb8\" data-id=\"4a80aeb8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-5669517d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5669517d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-72d78893\" data-id=\"72d78893\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2d5d8545 elementor-widget elementor-widget-text-editor\" data-id=\"2d5d8545\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5 style=\"text-align: left; color: #6ec1e4;\">So, how does this bot actually work?<\/h5><p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0The bot relies on application commands that are specific to a server and identified by the source that created them (in this case, the bot itself). I chose these commands because they benefit from Discord&rsquo;s autocomplete feature, making them much easier for users to handle. Below is an example of a command:<\/p><p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-1188 size-full\" src=\"https:\/\/konekan.fr\/wp-content\/uploads\/2023\/05\/tips_create_tags.png\" alt=\"\" width=\"1170\" height=\"96\" \/><\/p><p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0Thanks to Discord&rsquo;s formatting for these commands, users can easily use them with descriptions and help messages available for each command and parameter! Assuming all the commands are clear, a user could operate the bot without even reading the documentation!<\/p><p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0For each command, the bot responds with an embedded message informing the user of the command&rsquo;s result and any actions to take if needed. Below is an example of a response to the \u00ab\u00a0\/scheduler info\u00a0\u00bb command:<\/p><p><img decoding=\"async\" class=\"aligncenter wp-image-1189 size-full\" src=\"https:\/\/konekan.fr\/wp-content\/uploads\/2023\/05\/scheduler_response_info.png\" alt=\"\" width=\"489\" height=\"212\" \/><\/p><h5 style=\"color: #6ec1e4;\">What&rsquo;s next for this project?<\/h5><p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0With the bot&rsquo;s main feature implemented, I&rsquo;m glad to have learned how to work with new aspects of Rust, such as database management and using Tokio with the Serenity framework. I think this project has potential if new features are added, and that&rsquo;s great because the project architecture was designed with expansion in mind!<\/p><p style=\"text-align: justify;\">\u00a0 \u00a0 \u00a0 \u00a0Who knows? We could add the ability to manage roles through the bot or even handle course-related questions! Stay tuned \ud83d\ude42<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5f464123 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5f464123\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-wider\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5c2057bc\" data-id=\"5c2057bc\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>GitHub repository The Challenge \u00a0 \u00a0 \u00a0 \u00a0After completing the course-project that involved creating a game server in Rust, I wanted to continue working with the language to familiarize myself with all its concepts. My networking professor always had great advice during class, but it was hard to remember everything at once. That\u2019s why I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1161,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[90],"tags":[131,139,117,135,141,137,143],"class_list":["post-1900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-other_en","tag-async-en","tag-bot-discord-en","tag-projet-perso-en","tag-rust-en","tag-serenity-en","tag-tokio-en","tag-training-en"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/posts\/1900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1900"}],"version-history":[{"count":5,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/posts\/1900\/revisions"}],"predecessor-version":[{"id":1910,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/posts\/1900\/revisions\/1910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/media\/1161"}],"wp:attachment":[{"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/konekan.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}