Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6b98e99
feat: Fix missing ;
LeadcodeDev May 20, 2022
b92f4bc
feat: Implement api helpers
LeadcodeDev May 20, 2022
8507877
chore: Upgrade dart sdk version
LeadcodeDev May 20, 2022
34b4de5
feat: Implement method and improve guild
LeadcodeDev May 20, 2022
9340e8b
feat: Can get error message
LeadcodeDev May 22, 2022
f177b76
feat: Add exception
LeadcodeDev May 22, 2022
a3422e2
feat: Remove unused print
LeadcodeDev May 22, 2022
1993e0d
feat: Create token exception
LeadcodeDev May 22, 2022
4d8496d
feat: Create environment management
LeadcodeDev May 22, 2022
bd3294b
feat: Improve event entity
LeadcodeDev May 22, 2022
9614d2e
feat: Crate event emitter
LeadcodeDev May 22, 2022
de9e845
feat: Crate event emitter
LeadcodeDev May 22, 2022
96b2002
feat: Create namespace exception
LeadcodeDev May 22, 2022
71664fc
feat: Improve core namespace
LeadcodeDev May 22, 2022
8e83e2c
feat: Add Services
LeadcodeDev May 22, 2022
e2a1461
feat: Create kernel initializer
LeadcodeDev May 22, 2022
e8cddfc
feat: Remove print
LeadcodeDev May 22, 2022
a2ce8b7
feat: Add User tag
LeadcodeDev May 22, 2022
7a9db44
feat: Implement event emitter
LeadcodeDev May 22, 2022
ec0340f
feat: Rework structure
LeadcodeDev May 22, 2022
9bde552
feat: Rework structure
LeadcodeDev May 22, 2022
e5d90d9
feat: Remove useless event file
LeadcodeDev May 22, 2022
ed724ea
feat: Finish guild properties
LeadcodeDev May 22, 2022
22c762d
feat: Finish guild properties
LeadcodeDev May 22, 2022
4c4ce17
feat: Refactor
LeadcodeDev May 22, 2022
21b1901
feat: Implement stickers
LeadcodeDev May 22, 2022
8f5b537
feat: Implement create method
LeadcodeDev May 22, 2022
e56b280
feat: Improve helper
LeadcodeDev May 22, 2022
b9f78b2
feat: Add feature list
LeadcodeDev May 22, 2022
e8b888f
feat: Work in progress
LeadcodeDev May 22, 2022
4efb873
feat: Implement sticker methods
LeadcodeDev May 22, 2022
f35393d
feat: Work in progress
LeadcodeDev May 26, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions lib/api.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
library api;

import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:mineral/console.dart';
import 'package:mineral/helper.dart';
import 'package:path/path.dart' as path;

import 'package:http/http.dart';
import 'package:mineral/core.dart';
Expand All @@ -14,6 +12,9 @@ import 'package:mineral/src/api/managers/guild_manager.dart';
import 'package:mineral/src/api/managers/member_manager.dart';
import 'package:mineral/src/api/managers/message_manager.dart';
import 'package:mineral/src/api/managers/role_manager.dart';
import 'package:mineral/src/api/managers/sticker_manager.dart';
import 'package:mineral/src/api/sticker.dart';
import 'package:mineral/src/api/welcome_screen.dart';

part 'src/api/mineral_client.dart';
part 'src/api/application.dart';
Expand All @@ -29,10 +30,12 @@ part 'src/api/channels/text_channel.dart';
part 'src/api/channels/category_channel.dart';

part 'src/api/message.dart';
part 'src/api/message_embed.dart';
part 'src/api/color.dart';

part 'src/api/emoji.dart';
part 'src/api/role.dart';

part 'src/api/utils.dart'
part 'src/api/utils.dart';

typedef Snowflake = String;
16 changes: 10 additions & 6 deletions lib/console.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,31 @@ class Console {
}

static info ({ String prefix = 'info', required String message }) {
String p = Color.blue(prefix);
String p = ColorList.blue(prefix);
print("[ $p ] $message");
}

static success ({ String prefix = 'success', required String message }) {
String p = Color.green(prefix);
String p = ColorList.green(prefix);
print("[ $p ] $message");
}

static error ({ String prefix = 'error', required String message }) {
String p = Color.red(prefix);
print("[ $p ] $message");
print(getErrorMessage(prefix: ColorList.red(prefix), message: message));
}

static warn ({ String prefix = 'warn', required String message }) {
String p = Color.yellow(prefix);
String p = ColorList.yellow(prefix);
print("[ $p ] $message");
}

static getErrorMessage ({ String? prefix = 'error', required String message }) {
String p = ColorList.red(prefix!);
return "[ $p ] $message";
}
}

class Color {
class ColorList {
static String black (String text) => '\x1B[30m$text\x1B[0m';
static String red (String text) => '\x1B[31m$text\x1B[0m';
static String green (String text) => '\x1B[32m$text\x1B[0m';
Expand Down
9 changes: 8 additions & 1 deletion lib/core.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,20 @@ library core;
import 'dart:collection';
import 'dart:convert';

import 'package:mineral/exception.dart';
import 'package:mineral/src/internal/entities/event_manager.dart';
import 'package:mineral/src/internal/environment.dart';
import 'package:mineral/src/internal/websockets/websocket_manager.dart';
import 'package:mineral/src/ioc/Container.dart';
import 'package:http/http.dart' as http;

export 'package:mineral/src/websockets/websocket_manager.dart';
export 'package:mineral/src/internal/websockets/websocket_manager.dart';
export 'package:mineral/src/event_emitter.dart';

part 'src/internal/kernel.dart';

part 'package:mineral/src/ioc/ioc.dart';
part 'src/constants.dart';
part 'src/collection.dart';
part 'package:mineral/src/http.dart';
part 'package:mineral/src/entities/event.dart';
1 change: 0 additions & 1 deletion lib/event.dart

This file was deleted.

5 changes: 5 additions & 0 deletions lib/exception.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
library exception;

import 'package:mineral/console.dart';

part 'src/exceptions/token_exception.dart';
4 changes: 2 additions & 2 deletions lib/helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ class Helper {
return "data:image/png;base64,$encoded";
}

static Future<String> getFile(String filename) async {
String fileLocation = path.join(Directory.current.path, 'bin', filename);
static Future<String> getPicture(String filename) async {
String fileLocation = path.join(Directory.current.path, filename);
File file = File(fileLocation);

Uint8List imageBytes = await file.readAsBytes();
Expand Down
28 changes: 28 additions & 0 deletions lib/src/api/channels/text_based_channel.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,34 @@ class TextBasedChannel extends Channel {
flags: flags,
);

Future<Message?> send ({ String? content, List<MessageEmbed>? embeds, bool? tts }) async {
Http http = ioc.singleton(Service.http);
List<dynamic> embedList = [];

if (embeds != null) {
for (MessageEmbed element in embeds) {
embedList.add(element.toJson());
}
}

Response response = await http.post("/channels/$id/messages", {
'tts': tts ?? false,
'content': content,
'embeds': embeds != null ? embedList : [],
});

if (response.statusCode == 200) {
dynamic payload = jsonDecode(response.body);

Message message = Message.from(channel: this, payload: payload);
messages.cache.putIfAbsent(message.id, () => message);

return message;
}

return null;
}

Future<dynamic> setDescription (String description) async {
Http http = ioc.singleton(Service.http);
Response response = await http.patch("/channels/$id", { 'topic': description });
Expand Down
221 changes: 221 additions & 0 deletions lib/src/api/color.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
part of api;

enum Color {
amber_50('#fff7ed'),
amber_100('#ffedd5'),
amber_200('#fed7aa'),
amber_300('#fdba74'),
amber_400('#fb923c'),
amber_500('#f97316'),
amber_600('#ea580c'),
amber_700('#c2410c'),
amber_800('#9a3412'),
amber_900('#7c2d12'),
blue_50('#eff6ff'),
blue_100('#dbeafe'),
blue_200('#bfdbfe'),
blue_300('#93c5fd'),
blue_400('#60a5fa'),
blue_500('#3b82f6'),
blue_600('#2563eb'),
blue_700('#1d4ed8'),
blue_800('#1e40af'),
blue_900('#1e3a8a'),
cyan_50('#ecfeff'),
cyan_100('#cffafe'),
cyan_200('#a5f3fc'),
cyan_300('#67e8f9'),
cyan_400('#22d3ee'),
cyan_500('#06b6d4'),
cyan_600('#0891b2'),
cyan_700('#0e7490'),
cyan_800('#155e75'),
cyan_900('#164e63'),
emerald_50('#ecfdf5'),
emerald_100('#d1fae5'),
emerald_200('#a7f3d0'),
emerald_300('#6ee7b7'),
emerald_400('#34d399'),
emerald_500('#10b981'),
emerald_600('#059669'),
emerald_700('#047857'),
emerald_800('#065f46'),
emerald_900('#064e3b'),
fuchsia_50('#fdf4ff'),
fuchsia_100('#fae8ff'),
fuchsia_200('#f5d0fe'),
fuchsia_300('#f0abfc'),
fuchsia_400('#e879f9'),
fuchsia_500('#d946ef'),
fuchsia_600('#c026d3'),
fuchsia_700('#a21caf'),
fuchsia_800('#86198f'),
fuchsia_900('#701a75'),
gray_50('#f9fafb'),
gray_100('#f3f4f6'),
gray_200('#e5e7eb'),
gray_300('#d1d5db'),
gray_400('#9ca3af'),
gray_500('#6b7280'),
gray_600('#4b5563'),
gray_700('#374151'),
gray_800('#1f2937'),
gray_900('#111827'),
green_50('#f0fdf4'),
green_100('#dcfce7'),
green_200('#bbf7d0'),
green_300('#86efac'),
green_400('#4ade80'),
green_500('#22c55e'),
green_600('#16a34a'),
green_700('#15803d'),
green_800('#166534'),
green_900('#14532d'),
indigo_50('#eef2ff'),
indigo_100('#e0e7ff'),
indigo_200('#c7d2fe'),
indigo_300('#a5b4fc'),
indigo_400('#818cf8'),
indigo_500('#6366f1'),
indigo_600('#4f46e5'),
indigo_700('#4338ca'),
indigo_800('#3730a3'),
indigo_900('#312e81'),
lime_50('#f7fee7'),
lime_100('#ecfccb'),
lime_200('#d9f99d'),
lime_300('#bef264'),
lime_400('#a3e635'),
lime_500('#84cc16'),
lime_600('#65a30d'),
lime_700('#4d7c0f'),
lime_800('#3f6212'),
lime_900('#365314'),
neutral_50('#fafafa'),
neutral_100('#f5f5f5'),
neutral_200('#e5e5e5'),
neutral_300('#d4d4d4'),
neutral_400('#a3a3a3'),
neutral_500('#737373'),
neutral_600('#525252'),
neutral_700('#404040'),
neutral_800('#262626'),
neutral_900('#171717'),
orange_50('#fff7ed'),
orange_100('#ffedd5'),
orange_200('#fed7aa'),
orange_300('#fdba74'),
orange_400('#fb923c'),
orange_500('#f97316'),
orange_600('#ea580c'),
orange_700('#c2410c'),
orange_800('#9a3412'),
orange_900('#7c2d12'),
pink_50('#fdf2f8'),
pink_100('#fce7f3'),
pink_200('#f9a8d4'),
pink_300('#93c5fd'),
pink_400('#f472b6'),
pink_500('#ec4899'),
pink_600('#db2777'),
pink_700('#be185d'),
pink_800('#9d174d'),
pink_900('#831843'),
purple_50('#faf5ff'),
purple_100('#f3e8ff'),
purple_200('#e9d5ff'),
purple_300('#d8b4fe'),
purple_400('#c084fc'),
purple_500('#a855f7'),
purple_600('#9333ea'),
purple_700('#7e22ce'),
purple_800('#6b21a8'),
purple_900('#581c87'),
red_50('#fef2f2'),
red_100('#fee2e2'),
red_200('#fecaca'),
red_300('#fca5a5'),
red_400('#f87171'),
red_500('#ef4444'),
red_600('#dc2626'),
red_700('#b91c1c'),
red_800('#991b1b'),
red_900('#7f1d1d'),
rose_50('#fff1f2'),
rose_100('#ffe4e6'),
rose_200('#fecdd3'),
rose_300('#fda4af'),
rose_400('#fb7185'),
rose_500('#f43f5e'),
rose_600('#e11d48'),
rose_700('#be123c'),
rose_800('#9f1239'),
rose_900('#881337'),
sky_50('#f0f9ff'),
sky_100('#e0f2fe'),
sky_200('#bae6fd'),
sky_300('#7dd3fc'),
sky_400('#38bdf8'),
sky_500('#0ea5e9'),
sky_600('#0284c7'),
sky_700('#0369a1'),
sky_800('#075985'),
sky_900('#0c4a6e'),
slate_50('#f8fafc'),
slate_100('#f1f5f9'),
slate_200('#e2e8f0'),
slate_300('#cbd5e1'),
slate_400('#94a3b8'),
slate_500('#64748b'),
slate_600('#475569'),
slate_700('#334155'),
slate_800('#1e293b'),
slate_900('#0f172a'),
invisible('#2f3136'),
stone_50('#fafafa'),
stone_100('#f5f5f5'),
stone_200('#e5e5e5'),
stone_300('#d4d4d4'),
stone_400('#a3a3a3'),
stone_500('#737373'),
stone_600('#525252'),
stone_700('#404040'),
stone_800('#262626'),
stone_900('#171717'),
teal_50('#f0fdfa'),
teal_100('#ccfbf1'),
teal_200('#99f6e4'),
teal_300('#5eead4'),
teal_400('#2dd4bf'),
teal_500('#14b8a6'),
teal_600('#0d9488'),
teal_700('#0f766e'),
teal_800('#115e59'),
teal_900('#134e4a'),
violet_50('#f5f3ff'),
violet_100('#ede9fe'),
violet_200('#ddd6fe'),
violet_300('#c4b5fd'),
violet_400('#a78bfa'),
violet_500('#8b5cf6'),
violet_600('#7c3aed'),
violet_700('#6d28d9'),
violet_800('#5b21b6'),
violet_900('#4c1d95'),
yellow_50('#fefce8'),
yellow_100('#fef9c3'),
yellow_200('#fef08a'),
yellow_300('#fde047'),
yellow_400('#facc15'),
yellow_500('#eab308'),
yellow_600('#ca8a04'),
yellow_700('#a16207'),
yellow_800('#854d0e'),
yellow_900('#713f12');

final String _color;
const Color(this._color);

@override
String toString() => _color;
}
Loading