BLACK MANAGER Lite | Разработка
161 subscribers
91 photos
7 videos
2 files
11 links
Новости о разработке рекода бота Black Manager Lite
Download Telegram
Когда на сообщество успело 2.2к подписаться? 🧐. В честь этого, пожалуй, напишу ещё одну строчку кода в проект с ботом)
3🥰1😁1
async check(): Promise<boolean> {
return true
}

Написал)
👍82🔥1💩1
Ладно, наконец появилось желание писать бота + сделал нормальную ООП структуру проекта. Немного о будущих настройках беседы, чтобы вы не думали, что я забросил его:
    chat_id: number
peer_id: number

owner_id: string = '1'
filter: boolean = false
silence: boolean = false

grid: string | undefined
subgrid: string | undefined

invite_kick: boolean = false
leave_kick: boolean = false
join_by_link_kick: boolean = false
back_kick: boolean = false

welcome_text: string = defaultWelcomeText

action_on_link: ActionOnLink = ActionOnLink.none
🔥52😁1
А, ну еще:
    roles: Map<number, string> = new Map() // Кастомные роли
nicks: Map<string, string> = new Map() // Ники
warns: Map<string, number> = new Map() // Варны
banwords: Set<string> = new Set() // Банворды
bans: Map<string, banInfo> = new Map() // Баны
permissions: Map<string, number> = new Map() // Права


Все поняли? 😉
👍11🥰1😁1
Сильно ли вам нужны отдельные права для ролей под каждую команду, или уловного "manageRoles", куда будет входить /setnick, /rnick, /getacc, /nlist и д.р. хватит?
Anonymous Poll
63%
Сильно
28%
Без разницы
9%
Нет
Только честно
40+ настраиваемых прав получилось 🧔🏿‍♀️
👍7🥰1😁1😱1
BLACK MANAGER Lite | Разработка
40+ настраиваемых прав получилось 🧔🏿‍♀️
Это только с теми командами, которые есть сейчас
4👎1🔥1
Сделать унаследование прав, или пусть одна роль что-то может, а другая - нет?
👎🏿 - унаследование
👍🏿 - демократия
👍39👎53
New function to get user id
export default async function (user: string) {
// return false if $user not a VK user
// else return user id
try {

if (!user.startsWith('https://')) user = `https://${user}`

new URL(user)

// Если была указана ссылка https://vk.com/id1
const regex = /(?:https?:\/\/)?(?:vk\.com|vk\.me)\/(?:id)?([\w.-]+)/
const userId = user.match(regex)

if (!userId) return false

if (isNaN(Number(userId))) {
const res = await api.users.get({
user_ids: [userId[1]]
}).catch(err => {return err})

if (res) return res[0].id
else return true

} else return userId[1]

} catch (err) {
// Если через @упоминание
const regex = /\[id(\d+)\|/ // regular expression
const userId = user.match(regex) // user id

if (!userId || !isNaN(Number(userId))) return false // if not int
return Number(userId[1]) // return id
}
}

Use it
👍4🔥2
Через нее можете хоть vk.me/username/fjewoifjoiewjfo указывать
2
Новый дизайн. Не знаю, что по этому поводу думаете вы, но мне очень нравится 🥰
17🔥2🥰1
Добавлять команду /q?
Я проснулся, кста 🥳
👍🏿 - да
👎🏿 - иди на... Нет
👍37👎6
Это спойлер к еще одной фишке, которую много кто просил
🥰5
Скажем дружно: "Пока, оптимизация!"
BLACK MANAGER Lite | Разработка
Б****, я алисасы команд забыл
С учетом того, что дефолтные названия команд выглядят примерно так: "subgridremovenickname", то это штука важная.
P.s.: она реально так назвается
static readonly SUBGRID_REMOVE_NICKNAME : Command = new Command('subgridremovenickname', 'удалить ник в подсетке бесед');