天道酬勤,学无止境

按名称将频道添加到类别(Add channel to category by name)

问题
    var server = message.guild;
    for (var i = 0; i < server.channels.array().length; i++) {
        server.channels.array()[i].delete();
    }

    server.createChannel("Text Channels", "category");
    server.createChannel('general', "text");

我正在尝试使文本频道“通用”进入“文本频道”类别

我找到的所有解决方案依赖于您知道类别 id 。 我想知道是否有一种方法可以获得类别 id ,或者仅通过其名称将一般移动到“文本通道”中。

注意:: 目前我正在考虑一些类似的东西来获取类别 ID:

var categoryID = server.categories.find("name","Text Channels");

然后使用

server.channels.find("name","general").setParent(categoryID);
回答1

您可以使用 GuildChannel.setParent()。 请记住,Discord 将类别视为频道: CategoryChannel扩展GuildChannel ,因此您可以使用 GuildChannel.type 检查类型

要分配现有通道:

let category = server.channels.find(c => c.name == "Text Channels" && c.type == "category"),
  channel = server.channels.find(c => c.name == "general" && c.type == "text");

if (category && channel) channel.setParent(category.id);
else console.error(`One of the channels is missing:\nCategory: ${!!category}\nChannel: ${!!channel}`);

要创建新频道:

server.createChannel("general", "text")
  .then(channel => {
    let category = server.channels.find(c => c.name == "Text Channels" && c.type == "category");

    if (!category) throw new Error("Category channel does not exist");
    channel.setParent(category.id);
  }).catch(console.error);

编辑:discord.js@v12
唯一改变的是你必须使用 GuildChannelManager 来处理所有事情。

let category = server.channels.cache.find(c => c.name == "Text Channels" && c.type == "category"),
  channel = server.channels.cache.find(c => c.name == "general" && c.type == "text");

if (category && channel) channel.setParent(category.id);
else console.error(`One of the channels is missing:\nCategory: ${!!category}\nChannel: ${!!channel}`);
server.channels.create("general")
  .then(channel => {
    let category = server.channels.cache.find(c => c.name == "Text Channels" && c.type == "category");

    if (!category) throw new Error("Category channel does not exist");
    channel.setParent(category.id);
  }).catch(console.error);
回答2

我知道为时已晚,但这是获取 channel_id 的方法:

  • 右键单击频道以打开菜单
  • 单击复制 ID(在菜单底部)

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Django项目实践(商城):十四、首页广告
    (根据居然老师直播课内容整理) 一、展示首页商品频道分类 1、首页商品频道分类数据结构分析 现在要将页面显示成类似上图;数据展示的结构如下:(结构不是固定的,按项目需求而来) (一张三级联动的表 是通过parent_id来做的) { "1":{ "channels":[ {"id":1, "name":"手机", "url":"http://shouji.jd.com/"}, {"id":2, "name":"相机", "url":"http://www.baidu.cn/"} ], "sub_cats":[ { "id":38, "name":"手机通讯", "sub_cats":[ {"id":115, "name":"手机"}, {"id":116, "name":"游戏手机"} ] }, { "id":39, "name":"手机配件", "sub_cats":[ {"id":119, "name":"手机壳"}, {"id":120, "name":"贴膜"} ] } ] }, "2":{ "channels":[], "sub_cats":[] } } 这是一个json类型数据“1”:是组,共有11个“channels” 频道 一共是37个频道 下图频道展示了两个频道,频道下面还有二级“sub_cats”, "sub_cats"里面的"sub_cats"是一个三级分类
  • Python - 将频道添加到类别(Python - Adding channel to category)
    问题 我正在尝试创建一个将在类别中创建的频道,但我尝试过的东西没有奏效 代码很大,所以我不会展示所有内容,只是添加频道 @client.command() @has_permissions(kick_members=True) async def warn(ctx, member:discord.Member, *, reason=None): arg=reason author=ctx.author guild=ctx.message.guild overwritee = discord.PermissionOverwrite() overwrite = discord.PermissionOverwrite() channel = get(guild.text_channels, name='warn-logs') category = get(guild.category_channels, name='Multi-Logs') mrole = get(ctx.guild.roles, name="Multi-Galaxy") if category is None: category = await guild.create_category_channel("Multi-Logs") overwritee.read_messages = False overwritee
  • Django项目实战——12—(Docker和FastDFS上传和下载文件、浏览器下载并渲染图片(nginx)、录入商品数据和图片数据、首页广告)
    1、Docker和FastDFS上传和下载文件 Docker安装运行FastDFS 获取FastDFS镜像 # 从仓库拉取镜像 sudo docker image pull delron/fastdfs # 解压资料中本地镜像 sudo docker load -i 文件路径/fastdfs_docker.tar 开启tracker容器 我们将 tracker运行目录映射到宿主机的 /var/fdfs/tracker目录中。 sudo docker run -dit --name tracker --network=host -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker 开启storage容器 TRACKER_SERVER=Tracker的ip地址:22122(Tracker的ip地址不要使用127.0.0.1)我们将 storage运行目录映射到宿主机的/var/fdfs/storage目录中。 sudo docker run -dti --name storage --network=host -e TRACKER_SERVER=192.168.232.140:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
  • 如何使用 RestKit 映射 XML textContent?(How to map XML textContent with RestKit?)
    问题 我有一个这样的 XML: <rss> <channel> <item> <title>something</title> <description>...</description> <category>cooking</category> <category>housing</category> </item> <item> ... </item> ... </channel> </rss> 它是一个 RSS 提要,在频道内有一组项目,包含许多标签/属性(标题、内容、...),以及类别标签的集合。 我可以用 RestKit 解析它的频道/项目/标题/内容部分: RKManagedObjectMapping *itemMapping = [RKManagedObjectMapping mappingForClass:[Item class] inManagedObjectStore:objectStore]; [itemMapping mapKeyPath:@"title" toAttribute:@"title"]; [itemMapping mapKeyPath:@"description" toAttribute:@"content"]; RKManagedObjectMapping *channelMapping = [RKManagedObjectMapping
  • Django项目实践(商城):十二、商品信息数据库设计
    (根据居然老师直播课内容整理) 一、SPU和SKU 在电商中对于商品,有两个重要的概念:SPU和SKU 1、SPU介绍 SPU,是standard product unit,标准化产品单元,是商品信息聚合的最小单位,是一组可服用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗的讲,属性值、特性相同的商品就可以归类到一类SPU。(在淘宝看不到spu这个概念,淘宝商品都拥有商品ID(item design),相当于spu)例如: iPhone X 就是一个SPU,与商家、颜色、款式、规格、套餐等都无关。SPU是用来定位的,京东前台看不到单品的spu是多少,想查看只能到店铺后台中查看,淘宝是可以在前台链接中看到该商品的ID的,比如: 这是天猫的一款产品点击主图后进入的页面,最后是id=544576894375,这个是商品的id,在出售中的宝贝中也可以看到: 而京东的spu就需要到京东后台查看 2、SKU介绍 SKU是stock keeping unit(库存量单位),库存进出计量的单位,用来定价和管理库存的,可以是以件、盒等为单位,是物理上不可分割的最小存货单元。 通俗的讲,SKU是指一款商品,每款都有一个SKU,便于电商品牌识别商品。 例如:7Plus有很多颜色,很多配置,每个颜色和配置的组合都会形成新的产品,这时就产生很多SKU SKU在传统线下行业也是一个非常常用的概念
  • 电商项目-展示首页商品频道分类
    展示首页商品频道分类 现在要将页面显示成类似上图; 数据展示的结构如下:(结构不是固定的,按项目需求而来) (一张三级联动的表 是通过parent_id来做的) { "1":{ "channels":[ {"id":1, "name":"手机", "url":"http://shouji.jd.com/"}, {"id":2, "name":"相机", "url":"http://www.baidu.cn/"} ], "sub_cats":[ { "id":38, "name":"手机通讯", "sub_cats":[ {"id":115, "name":"手机"}, {"id":116, "name":"游戏手机"} ] }, { "id":39, "name":"手机配件", "sub_cats":[ {"id":119, "name":"手机壳"}, {"id":120, "name":"贴膜"} ] } ] }, "2":{ "channels":[], "sub_cats":[] } } 分析: 这是一个json类型: “1” 是组 一共是11个组 “channels” 频道 一共是37个频道 下图频道展示了两个频道,频道下面还有二级“sub_cats”, "sub_cats"里面的"sub_cats"是一个三级分类,需要查询数据库,把数据拼接成下图结构给前端返回
  • * foreach 在 foreach codeigniter 2 中?(* foreach inside foreach codeigniter 2?)
    问题 在 codeigniter 2.1 中,我试图按类别显示频道。 因此,如果我有一个名为 Film 的类别,我应该会看到 Film 中的频道列表。 我尝试了一个嵌套的 foreach 循环来完成此操作,但似乎无法使其正常工作。 我的表结构是这样的,但更复杂: 我的模型: <?php class Pages_model extends CI_Model { function get_channels_by_categ_tv() { $this->db->select('categories.category_name, channels.channel_name'); $this->db->from('type_categ'); $this->db->join('categories', 'categories.category_id = type_categ.category_id'); $this->db->join('channels', 'channels.channel_id = type_categ.channel_id'); $this->db->order_by('categories.category_id'); //$this->db->group_by(array('categories.category_id')); $query = $this->db-
  • 马房山实验报告大学Python大作业——YouTube视频趋势分析
    武汉理工大学Python高级程序设计大作业——YouTube视频趋势分析 要求任务描述 源代码main_mac.pyconfig.py 要求 数据来源:https://www.kaggle.com/datasnaek/youtube-new Kaggle提供的数据集包括4个国家的热门YouTube视频的每日记录。每个国家的数据文件为一个CSV文件及一个JSON文件。 任务描述 ① 绘制每个国家指定列的的top10,如category,channel_title等; ② 统计视频发布后上榜的天数; ③ 查看views, likes, dislikes, comment_count的关系; ④ 按月份统计不同国家发布的视频数量,并用柱状图进行可视化。 以及附加要求中还有关联读写数据库、进行数据清洗等要求。 源代码 代码直接cv过去是无法运行的,有一些关于环境的bug。理解为重,酌情cv。 代码参考:数据分析~案例:YouTube视频趋势分析 main_mac.py 在main_mac.py主程序文件中,虽然使用了MySQL数据库,实现了数据库的读写函数,但是实际上并没有从数据库读取或者写入。各位将读取文件的代码片转换成读取MySQL数据库的函数即可。 若使用MySQL Workbench等数据库GUI工具的话,可以直接通过图形界面将.csv文件和.json文件手动导入数据库中
  • where 之后的 where 查询在 Laravel 5.4 中无法正常工作(Where query after whereHas not work as it should in Laravel 5.4)
    问题 就我而言,我的频道表与类别表存在多对多关系。 我想获取其类别包含动态值的频道,例如对每个类别的标题进行LIKE查询。 但我需要通过 where 子句检查频道的另一列。 这是一个通道结构: [ { "id": 87, "username": "ch1", "title": "ch title", "type": "channel", "members": 210424, "location": "tabriz", "created_at": "2017-05-09 01:39:44", "updated_at": "2017-05-16 17:19:28", } ] 为了得到我想要的,我运行这个查询: $channels = Channel::orderBy('members', 'desc') ->whereHas('categories', function ($query) use ($category) { $query->where('title', 'LIKE', '%' . $category . '%'); }) ->where([ ['visible', 1], ['title', 'LIKE', '%' . $trend . '%'], ['location', 'LIKE', '%' . $location . '%'], ['members', '>'
  • 如何在 PHP 中添加和更改 XML 标签(How to add and changes XML tags in PHP)
    问题 我需要您的一些帮助,我正在处理我的 PHP 脚本以创建编码为 utf8 的 XML 文档,以便我可以生成 XML 文件以允许我将 XML 文件保存在我的 Web 主机中。 我想让 xml 输出变成这样: <?xml version="1.0" encoding="UTF-8" ?> <tv generator-info-name="www.mysite.com/xmltv"> <channel id=""> <display-name>Information from database</display-name> <programme channel="Information from database" start="" stop=""> <title lang="en"></title> <sub-title lang="en"> </sub-title> <desc lang="en"></desc> <category lang="en"></category> </programme> </channel> 这是我的 XML 输出的样子: <?xml version="1.0" encoding="UTF-8"?> <tv generator-info-name="www.mysite.com/xmltv"><channel><display-name
  • Discord.js | 无法读取未定义的属性“setParent” | 类别创建(Discord.js | Cannot read property 'setParent' of undefined | category create)
    问题 client.on('message', async (message, user) => { if(message.content == "!createcategory"){ //const name = message.content.replace('!createcategory ', '') if(message.guild.channels.cache.find(c => c.name == message.author.username && c.type == "category") === undefined){ message.guild.channels.create(message.author.username, { type: 'category', permissionOverwrites: [ {id: message.guild.id, deny: ['VIEW_CHANNEL']}, {id: message.author.id, allow: ['VIEW_CHANNEL']}, ] }).then(parent => { // Create the text channel message.guild.channels.create('Text channel', { type: 'text', // under the parent
  • Redis【有与无】【Admin-7】Redis访问控制列表(ACL)...
    本文基于Redis 6.0.9版本,前提至少 Redis 3.0或更高版本。 目录 1.ACL(Redis Access Control Lists) 1.1.什么时候ACL有用 1.2.使用ACL命令配置ACL 1.3.ACL规则 1.4.使用ACL SETUSER命令创建和编辑用户ACL 1.5.多次调用ACL SETUSER会发生什么 1.6.Playings命令类别 1.7.添加子命令 1.8.+@all VS -@all 1.9.内部如何存储密码 1.10.使用外部ACL文件 1.11.前哨(Sentinel)和复制节点(Replicas)的ACL规则 1.12.本文档的待办事项清单 1.ACL(Redis Access Control Lists) Redis ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。 在连接之后,它的工作方式是需要客户端进行身份验证,以提供用户名和有效密码:如果身份验证阶段成功,则连接与给定用户关联,并且该用户具有限制。可以对Redis进行配置,以便新连接已经通过“default”用户进行身份验证(这是默认配置),因此,配置默认用户具有的能力是,仅向未明确认证的连接提供特定功能子集的功能。 在默认配置中,Redis 6(第一个具有ACL的版本
  • 删除特定类别中的所有频道(Delete all channels in a specific category)
    问题 如何在 Discord.JS 中删除特定类别中的所有频道? 我试过了 oldMember.guild.channels.cache.get(client.tr["Settings"].MainChannelID).parent.channels.cache.forEach(c => { if(c.members.size != 0){ c.delete(); } }) 回答1 您可以使用 CategoryChannel.children 获取属于一个类别的所有频道 const category = await oldMember.guild.channels.cache.get(CATEGORY_ID); // You can use `find` instead of `get` to fetch the category using a name: `find(cat => cat.name === 'test') category.children.forEach(channel => channel.delete())
  • Django项目实战——13—(自定义Django文件存储类、商品列表页、列表页面包屑导航、列表页分页和排序)
    1、自定义Django文件存储类 上一篇博客中介绍了首页轮播图的显示,由于因为域名的问题,图片无法访问虚拟机中的storage容器中存储的data数据。 结论: 通过FastDFS上传文件后返回的Remote file_id字段是文件索引。文件索引会被我们存储到MySQL数据库。所以将来读取出来的也是文件索引,导致界面无法下载到图片。 解决: 重写Django文件存储类的url()方法。在重写时拼接完整的图片下载地址(协议、IP、端口、文件索引) Django文件存储类url()方法介绍 结论: 文件存储类url()方法的作用:返回name所代表的文件内容的URL。文件存储类url()方法的触发:content.image.url • 虽然表面上调用的是ImageField的url方法。但是内部会去调用文件存储类的url()方法。文件存储类url()方法的使用: • 我们可以通过自定义Django文件存储类达到重写url()方法的目的。 • 自定义Django文件存储类必须提供url()方法。 • 返回name所指的文件对应的绝对URL。 自定义Django文件存储类 自定义文件存储类的官方文档https://docs.djangoproject.com/en/2.2/howto/custom-file-storage/ 重写文件存储继承的类:utils/fastdfs/fdfs
  • 使用 discord.js 显示一个类别中有多少频道(Show how many channels are in a category with discord.js)
    问题 有没有一种方法可以使用discord.js显示一个类别中有多少个频道? 回答1 实际上有一种相当简单的方法可以做到这一点。 您可以从公会获取所有频道,然后循环播放它们。 然后,您挑选出所有属于category类型的频道并获取其children属性的大小。 下面是一些代码,可以帮助您朝着正确的方向前进。 client.on("message", async message => { // Do all your validation and whatnot here .... const guild = message.guild; const categoryChannels = guild.channels.filter(channel => channel.type === "category"); categoryChannels.forEach(channel => { console.log(`Category ${channel.name} has ${channel.children.size} channels`); }); }); 试一试,让我知道它是怎么回事!
  • ng(如果被调用的次数超过了应有的次数)(ng-if being called more times than it should)
    问题 我正在尝试根据所选类别过滤一些频道。 我channel in channels有一个ng-repeat channel in channels具有ng-if="hasCategory(channel.category) 这是文档: db.channels.find().pretty() { "_id" : "2kj9GK8jE9yHezoWb", "name" : "example name", "logo" : "path/to/image.svg", "number" : 2, "category" : [ "Broadcast", "Premium" ], "tags" : "example tag tags" } 这是处理ng-if的函数: $scope.hasCategory = function (categoryNameArray) { console.log('thisisbeingcalled'); var e = _.indexOf(categoryNameArray, $scope.activeCategory); if (e === -1) { return false; } else { return true; } }; 这就是我设置活动类别的方式: $scope.setCategory = function (name) { $scope
  • 如何使用 YouTube API 获取每个 YouTube 频道的频道类型或类别?(How to get the Channel Type or Category of each YouTube channel using YouTube API?)
    问题 我是使用 YouTube API 的新手。 我正在尝试获取每个频道的频道类别,但我不知道如何发出获取类别的请求。 我举个例子:http://socialblade.com/youtube/user/pewdiepie 正如您在 pewdiepie 的 Socialblade 统计数据中看到的那样,上面有一个“CHANNEL TYPE”,而 pewdiepie 的频道类型或类别是“游戏”,但是 Socialblade 是如何要求的? 我希望你能帮助我。 谢谢你。 回答1 好吧,v3 API 没有针对每个频道的类别,因此他们可能会使用频道中找到的视频的公式来确定整体类别。 https://developers.google.com/youtube/v3/docs/channels
  • 在youtube api v3中查找频道的国家/地区(Find country of channel in youtube api v3)
    问题 在youtube api的v2中,我可以通过获取频道的用户信息(https://gdata.youtube.com/feeds/api/users/userId)并查看Location属性来获取频道的国家/地区。 似乎在api的v3中不存在。 由于我只对来自特定国家/地区的频道感兴趣,是否有办法知道该频道在哪个国家/地区? 回答1 唯一的解决方法是使用guideCategories。 您可以按地区列出guide类别。 然后,在您的频道->列表调用中,您可以插入该类别ID。 回答2 看来该API的V2终于被关闭了。 由于API的V3不支持此方法,因此有人设法解决此问题吗? 我已经阅读了API文档,尽管确实有一些可用于此数据的字段(snippet.country),但似乎并没有在绝大多数渠道中填充该字段。 我需要的是找到与频道/视频关联的一般区域(国家/地区)。 没有比这更细的颗粒了。 回答3 regionCode参数不执行您的想法:) 它只是发回,在该国可用,而不是一个在国内发布的视频。 回答4 如此答案所建议,请执行“ Search: list并按地区代码进行过滤。 回答5 如果您想知道其所在频道的国家/地区信息,则可以使用以下代码通过频道列表API获取该频道的国家/地区,如果在其ABOUT部分中已提及该频道,则可以获取该频道的国家/地区。 id = 'Enter_your
  • 将类别列添加到 Magento 管理中的产品网格(Add categories column to the product grid in Magento admin)
    问题 我正在尝试向产品网格添加一个类别列。 我修改了Mage_Adminhtml_Block_Catalog_Product_Grid 。 将以下内容添加到_prepareCollection : ->joinField('category_ids', 'catalog/category_product_index', 'category_id', 'product_id=entity_id', null, 'left') 这给了我一个错误: a:5:{i:0;s:72:"Item (Mage_Catalog_Model_Product) with the same id "16243" already exist" 。 在 prepareColumns 我添加: $this->addColumn('category_ids', array( 'header'=> Mage::helper('catalog')->__('Categories'), 'index' => 'category_ids', 'width' => '150px' )); 如何修复我的查询,以免出现错误? 是否可以按类别名称而不是 id 显示和过滤? 论坛帖子显示了类似的代码,但我无法使其与类别一起使用 http://www.magentocommerce.com/boards/viewthread
  • 如何通过安装脚本将类别添加到Magento?(How to add a category to Magento via Setup script?)
    问题 我实际上可以通过安装脚本添加类别,但由于某些原因,某些字段设置不正确。 这是我的代码 $this->startSetup(); Mage::register('isSecureArea', 1); $category = Mage::getModel('catalog/category'); $category->setPath('1/2') // set parent to be root category ->setName('Category Name') ->setUrlKey('category-name') ->setIsActive(0) ->setIncludeInMenu(1) ->setInfinitescroll(1) ->setDisplayMode('PAGE') ->setLandingPage($idToCmsBlock) ->setPageLayout('anotherLayoutThanDefault') ->setCustomUseParentSettings(0) ->setCustomLayoutUpdate('<reference name="head"><action method="addCss"><stylesheet>css/somecss.css</stylesheet></action></reference>') -